Page 1 sur 1

jeu de caractère

Posté : 10 févr. 2010, 12:56
par santino
Bonjour à tous,

Je suis en train de bosser sur un site qui afficherait plusieurs langues: italien, francais, espagnol et grec.

Tous se passe bein sur les trois premières mais je galère sur le grec.

Tous les caractères grec qui provienne de la db sont remplacés par des '?',
j'ai tout essayé: changer l'interclassement du champ qui contient le grec,
changer l'interclassement de la table, de la db en general_greek, utf8, etc.
J'ai aussi essayé avec les différents charset dans ma page html, utf8, iso-8859-7, iso-8859-1, rien à faire.
J'ai alors tenté le header avant la sortie... marche pas non plus.
(Si je remplace mes caractères par leur équivalent HTML, là, pas de souci biensur)

Je suis donc en train de me demander si c'est pas une option de config au niveau du serveur ?
Quelqu'un a-t-il déjà rencontré se genre de souci ?

Merci d'avance pour vos réponses

++
santino

Re: jeu de caractère

Posté : 10 févr. 2010, 14:52
par stealth35
si dans phpmyadmin sa s'affiche bien c'est que ton problème vient de l'encodage de ton fichier, UTF8 unicode partout

Re: jeu de caractère

Posté : 16 févr. 2010, 20:21
par elvex
Si l'encodage de la base de données est correcte, il se peut que le serveur apache indique un encodage iso-8859-1 : la transaction php-mysql est alors initiée en iso, et les données utf8 sont perdues lors des requêtes (la page php constituée ensuite est aussi servie par défaut en iso par apache). Pour y remédier :
- utiliser $db->query("SET NAMES UTF8") ; pour indiquer à php de communiquer avec MySQL en UTF-8
- utiliser header('Content-type: text/html; charset=utf-8') ; pour indiquer à Apache de servir la page en UTF-8

(ou reconfigurer apache, mais je ne sais pas faire)

Attention : si le fichier est servi en UTF-8, il est préférable qu'il soit lui-même encodé en utf-8

Cordialement,
elvex

Re: jeu de caractère

Posté : 17 févr. 2010, 00:18
par AB
Il y a un tuto sur l'encodage utf-8 ici qui entre autre, détaille certains des conseils de elvex