Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
J'ai développé dans le passé des sites multilingues en utilisant le charset latin1 puisque les langues en question étaient cantonnées à l'anglais, français, espagnol.
Tout allait bien dans le meilleurs des mondes, les accents étaient gérés et autres caractères propres à chaque langue.
Puis, j'ai commencé à utiliser AJAx qui retourne du UTF-8 (javascript en général, parle UTF-8 m'a remarqué qq'un). Bon ok je décode avant de renvoyer la réponse...
Ensuite, j'ai utilisé simpleXML, d'accord, il ne comprend que le UTF-8. . Bon ok je décode avant de traiter les données...
Les web services, fil Rss...Bien que mes sites fonctionnent en latin, voilà que je dois composer avec des data extérieures en UTF-8. Bon ok je décode....
Etc...
Ma question est la suivante :
Y-a-til une seule raison pour ne pas développer directement tout en UTF-8 (base de données, page html, données et même l'IDE : j'utilise Zend Studio qui est paramétrable également) ?
En outre, les modules du ZF me semblent convenir parfaitement pour m'accompagner pour le grand saut.
De tout ce que j'ai lu sur le net, j'ai l'impression d'avoir tout à gagner à tout gérer en UTF-8.
Qu'en pensez-vous, avez-vous du recul à ce sujet ? Quelqu'un a-t-il rencontré des problèmes ?
Bien à vous,
Fred
Hors ligne
Salut Fred,
Je suis en train de réaliser un service web en anglais et en français avec Zend Framework. J'ai décidé de tout développer en UTF-8, en commençant par la base de données. Je ne vais pas avoir assez de recul pour répondre à ta question, mais il me semble en tout cas que c'est une bonne stratégie (en tout cas, c'est celle que j'ai adopté). Je ne vois pas ce qui pourrait poser problème.
Je remarque quand même que ce n'est pas simple, et Zend Framework n'est pas encore au top à ce niveau-là : j'utilise la version 0.8 et il manque par exemple dans Zend_Db la gestion de UTF-8. J'ai été obligé d'étendre cette classe pour configurer la connection avec cette requête :
SET NAMES UTF8
Il ne me semble pas que ce problème ait été résolu dans la 9.2, mais peut-être que tout rentrera dans l'ordre avec la 1.0.
Peut-être que Isilgawen ou d'autres pourrait partager avec nous leur expérience avec UTF-8 ?
Hors ligne
Je suis aussi en full utf8 et j'ai également fait la même bidouille que stéphane en attendant une correction promis avant la 1.0 qui permettrai d'avoir un quatrième paramètre (en fait un autre tableau de params destiné au driver de la BDD PDO par exemple) au tableau passé à Zend_Db::factory. Donc en un seul mot patience ...
Dernière modification par Isilgawen (09-04-2007 19:08:16)
Hors ligne
Au passage, un très bon article sur UTF-8 et Php (même s'il ne livre pas toutes les clés) :
PHP UTF-8 cheatsheet
Hors ligne
Bonjour,
Je suis aussi en train de tout basculer en UTF-8. J'ajoute aux autres messages l'utilisation des fonctions mbstring à la place des fonctions standards de strings pour éviter des surprises :
http://www.php.net/manual/en/ref.mbstring.php
Philippe
PS : en PHP6, tout devrait se faire naturellement en UTF-8 sans les mbstring
Hors ligne
UTF-8 gère les accents ?? Moi je pige pas tout (pourquoi j'ai des "é" avec mes données Xml) alors?
Ces histoires m'ont toujours fait galérer si quelqu'un avait une doc clair là dessus..
Hors ligne
Très bons articles sur php et utf8:
http://www.phpwact.org/php/i18n/charsets
http://www.phpwact.org/php/i18n/utf-8
Quand des caractères tels que "é" sont affichés, c'est que les données sont en utf8 mais que le browser les affiches en temps que iso-8859. Ne pas oublier de setter correctement les content-type et autres meta
Hors ligne
Pas d'excuse de ne pas lire ça:
http://www.joelonsoftware.com/articles/Unicode.html
; )
Hors ligne
stephane a écrit:
Au passage, un très bon article sur UTF-8 et Php (même s'il ne livre pas toutes les clés) :
PHP UTF-8 cheatsheet
Bonne pioche Stephane, excellente check-list. Si tu trouves le trousseau de clés manquant, n'hésite pas
Bon, ben, je crois que je vais faire le grand saut, si en plus PHP6 arrondit les angles, ça me rassure. Reste à comparer les fonctionnalités de ZF et la check-list de l'article, les points 7 et 9 me semblent encore un peu confus.
Peut-être Stéphane que les clés manquantes sont le point 8...
Merci à tous, je vous tiens au courant de mes déboires et succès dans le passage à l'an UTF-8.
Fred
Dernière modification par fred wolf (10-04-2007 20:20:28)
Hors ligne
OUais bon j'me suis forcé à lire vos trucs et j'ai compris les grandes lignes... Mais (il y a souvent un mais) j'ai mis en pratique et ca ne marche pas...
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//divD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/divD/xhtml11.divd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>SupAdmin</title> <base href="http://localhost/sitebato/Admin/" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ...
Ceci m'affiche la même chose (html non intèpreté pas Opera et Firefox).... Comment ce fesse ( )?
(J'ai essayé d'enlever le permière ligne <?xml version="1.0" encoding="utf-8"?> ça change rien...)
Edit: j'ai viré
header('Content-Type: text/plain; charset="UTF-8"');
, c'est déjà mieux (la page est interprété , mais j'ai toujours des problèmes d'accents... �, je te tuerai !
Dernière modification par Mr.MoOx (11-04-2007 13:43:23)
Hors ligne
Essaye avec un
header('Content-Type: text/html; charset="UTF-8"');
ça devrait marcher mieux que text/plain.
Sinon dans ta conf apache, tu peux aussi ajouter un DefaultCharset (dans httpd.conf, dans ton virtual host ou ton location)
AddDefaultCharset UTF-8
A+, Philippe
Hors ligne
Nous avons eu un problème similaire : en faite ça venait de nos scripts qui n'étaient pas enregistrés dans le bon charset. Nous utilisons eclipse et il faut spécifier le bon (menu Window-Preferences puis General-Content type)
Hors ligne
Oui j'ai fait ça (j'utilise Scite donc c'est menu File > Encoding > UTF-8) mais ça n'a pas suffit avec tout le reste.
Doit bien y'avoir un truc mais bon... un autre jour sur mon prochain projet (puis le multilingue n'est pas nécessaire...)
Hors ligne
quode a écrit:
Très bons articles sur php et utf8:
http://www.phpwact.org/php/i18n/charsets
http://www.phpwact.org/php/i18n/utf-8
Je viens de tomber sur ce site et je voulais vous en faire profiter. Je crois que quode a été plus rapide que moi sur ce coup la...
Hors ligne