Categories > TinyButStrong general (FR) >

Problème utf8

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: glachant
Date: 2009-11-24
Time: 11:55

Problème utf8

Bonjour,
je chercher à gérer un site multi-langue; le principe que j'ai retenu fonctionne, mais l'affichage des caractères accentués n'est pas bon.
Voilà le contexte "technique" :
- Base de données utf8-unicode-ci
- utilisation de dreamwaver comme éditeur avec enregsitrement des fichiers php au format ut8, templates également (enfin quand ça veut bien car parfois ils restent en ANSI)

et la procédure appliquée :
- les textes sont posté depuis un formulaire web
- sont récupérés puis insérés dans la base de données avec la classe PDO (prepare+execute) et avec SET CHARACTER SET utf8 préalable
- un script php génère les fichiers langues (fichiers php) avec fopen+fputs en mettant les textes dans des variables : $GLOBALS["txt_3"] = utf8_encode("Les éléments marqués * sont obligatoires.");
- lors de l'affichage de la page le fichier contenant les variables des textes est chargé avant le LoadTemplate du template qui contient les balises [var.txt_3] etc...

dans mon contexte :
- le fichier php parent : utf8
- le fichier php généré par le script : format ANSI
- template : format ANSI
- la page html restituée contient : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> avec les caractères spéciaux remplacés par des és...

Please : HELP !
Merci de votre aide et de vos lumières...
Skrol, comment tu fais toi ?
By: Skrol29
Date: 2009-11-26
Time: 00:22

Re: Problème utf8

Salut,

Il me semble que ton utf8_encode() est de trop. Tu encodes une chaîne déjà encodée puisque ton fichier PHP est en UTF8.

En fait TBS n'intervient sur l'encodage uniquement sur les caractères spéciaux HTML, c'est à dire les "<", ">" et les "&". Pour les autres caractères ils ressortent téls quels, comme avec un echo().

By: aglachant
Date: 2009-11-26
Time: 08:40

Re: Problème utf8

salut skrol,
bon j ai essayé mais j avais toujours le meme probleme....j ai couple ta solution en ajoutant dans le httpd.conf l envoi du header en utf8. ca marche nickel. en fait le probleme etait que par defaut le header de httpd.conf prend la main sur celui de la balise meta.
merci de ton aide,
et je sais pas si je te l ai deja dit mais tbs c est vraiment top de chez top. je te souhaite une belle montee en puissance (deja bien partie).
@+