Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-04-2007 14:49:44

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Charset, Casse set, char tête..

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

 

#2 09-04-2007 18:14:02

stephane
Membre
Lieu: Biot
Date d'inscription: 26-03-2007
Messages: 33
Site web

Re: Charset, Casse set, char tête..

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 :

Code:

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

 

#3 09-04-2007 18:58:44

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Charset, Casse set, char tête..

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 ... smile

Dernière modification par Isilgawen (09-04-2007 19:08:16)

Hors ligne

 

#4 09-04-2007 20:11:29

stephane
Membre
Lieu: Biot
Date d'inscription: 26-03-2007
Messages: 33
Site web

Re: Charset, Casse set, char tête..

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

 

#5 10-04-2007 08:37:58

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Charset, Casse set, char tête..

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 10-04-2007 12:15:33

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

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.. big_smile

Hors ligne

 

#7 10-04-2007 17:25:35

quode
Membre
Date d'inscription: 22-03-2007
Messages: 20

Re: Charset, Casse set, char tête..

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


All software problems can be solved by introducing an extra level of indirection. Well, almost.

Hors ligne

 

#8 10-04-2007 17:30:57

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

C'est gentil, mais j'ai la fleime de lire tout ça en anglais ! :s

Hors ligne

 

#9 10-04-2007 17:41:18

quode
Membre
Date d'inscription: 22-03-2007
Messages: 20

Re: Charset, Casse set, char tête..

Pas d'excuse de ne pas lire ça:
http://www.joelonsoftware.com/articles/Unicode.html

; )


All software problems can be solved by introducing an extra level of indirection. Well, almost.

Hors ligne

 

#10 10-04-2007 20:19:47

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: Charset, Casse set, char tête..

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 smile

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

 

#11 11-04-2007 13:38:28

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

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...

Code:

<?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 ( smile )?
(J'ai essayé d'enlever le permière ligne <?xml version="1.0" encoding="utf-8"?> ça change rien...)

Edit: j'ai viré

Code:

header('Content-Type: text/plain; charset="UTF-8"');

, c'est déjà mieux (la page est interprété smile , 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

 

#12 11-04-2007 13:48:40

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Charset, Casse set, char tête..

Essaye avec un

Code:

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)

Code:

AddDefaultCharset UTF-8

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#13 11-04-2007 14:14:26

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

J'crois que en 2h je viens de faire tous les possibilités pour que ça marche... mais ça marche pas.

Ca me barbe trop, je ferais ça sur un autre projet...

Hors ligne

 

#14 11-04-2007 17:51:28

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Charset, Casse set, char tête..

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

 

#15 11-04-2007 17:56:49

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

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

 

#16 11-04-2007 18:48:27

stephane
Membre
Lieu: Biot
Date d'inscription: 26-03-2007
Messages: 33
Site web

Re: Charset, Casse set, char tête..

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

 

#17 17-04-2007 15:30:16

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Charset, Casse set, char tête..

En fait, après une session de 5 minutes, j'ai réussi à passer en UTF-8...
Soit je suis un boulet, soit... enfin bref. big_smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages