soit un champ dans une db qui contient ceci :
histoire : "le petit chat est parti pêcher et s'en est allé".
je veux afficher l'histoire dans une page php du navigateur dont
l'encodage est défini en utf8.
Donc je fais ceci :
$row['histoire'] = htmlentities($row['histoire'], ENT_QUOTES, UTF8);
j'ouvre ma page dans firefox et là je comprends plus :
les caractères intéressants sont remplacés par des ? dans des petits
losanges noirs.
J'affiche la source du code généré :
D<ici le ptit losange>placement par ex.
Je change l'encodage du navigateur en ISO8859-1 et là c'est bon ca
apparait clairement dans le browser mais la source est tjs incorrecte.
Question : qu'ais-je loupé dans l'utilisation de htmlentities et de
l'encodage dans ma page ?
c'est pas dans le charset declaré dans ta page HTML? faut dire que c'est du utf-8 non?
Choub
Il faut définir l'encodage de la page HTML elle-meme. Encoder ta chaine de caractère en UTF-8 n'est pas suffisant, il faut dire au naviguateur d'utiliser l'UTF-8 sur cette page en se servant d'une balise META dans l'entête de ta page HTML: <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
En espérant avoir répondu à tes attentes.
Cordialement
Il faut définir l'encodage de la page HTML elle-meme. Encoder ta
chaine de caractère en UTF-8 n'est pas suffisant, il faut dire au
naviguateur d'utiliser l'UTF-8 sur cette page en se servant d'une
balise META dans l'entête de ta page HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Il faut définir l'encodage de la page HTML elle-meme. Encoder ta chaine de caractère en UTF-8 n'est pas suffisant, il faut dire au naviguateur d'utiliser l'UTF-8 sur cette page en se servant d'une balise META dans l'entête de ta page HTML: <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
En espérant avoir répondu à tes attentes.
Cordialement
ftc
je veux afficher l'histoire dans une page php du navigateur dont l'encodage est défini en utf8.
Donc je fais ceci : $row['histoire'] = htmlentities($row['histoire'], ENT_QUOTES, UTF8);
j'ouvre ma page dans firefox et là je comprends plus : les caractères intéressants sont remplacés par des ? dans des petits losanges noirs.
Il faudrait que tu vérifie que ta source ( base de données en locurence ) est bien en UTF-8. C'est la source des données qui compte, pas le fichier HTML de destination.
je veux afficher l'histoire dans une page php du navigateur dont
l'encodage est défini en utf8.
Donc je fais ceci :
$row['histoire'] = htmlentities($row['histoire'], ENT_QUOTES, UTF8);
j'ouvre ma page dans firefox et là je comprends plus :
les caractères intéressants sont remplacés par des ? dans des petits
losanges noirs.
Il faudrait que tu vérifie que ta source ( base de données en locurence
) est bien en UTF-8. C'est la source des données qui compte, pas le
fichier HTML de destination.
je veux afficher l'histoire dans une page php du navigateur dont l'encodage est défini en utf8.
Donc je fais ceci : $row['histoire'] = htmlentities($row['histoire'], ENT_QUOTES, UTF8);
j'ouvre ma page dans firefox et là je comprends plus : les caractères intéressants sont remplacés par des ? dans des petits losanges noirs.
Il faudrait que tu vérifie que ta source ( base de données en locurence ) est bien en UTF-8. C'est la source des données qui compte, pas le fichier HTML de destination.
Gabriel
tout d'abord merci à tous de m'avoir éclairci les idées !
Mnt une qeuestion : l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si je mets en utf-8, le symbole euro devrait marcher non ?
Je suis preneur d'un lien si qqun en connait un bon, sinon je vais googler :)
tout d'abord merci à tous de m'avoir éclairci les idées !
Mnt une qeuestion :
l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si
je mets en utf-8, le symbole euro devrait marcher non ?
Je suis preneur d'un lien si qqun en connait un bon, sinon je vais
googler :)
tout d'abord merci à tous de m'avoir éclairci les idées !
Mnt une qeuestion : l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si je mets en utf-8, le symbole euro devrait marcher non ?
Je suis preneur d'un lien si qqun en connait un bon, sinon je vais googler :)
Patrick Mevzek
l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si
Non.
La seule partie commune c'est les 128 premières valeurs, qui sont de l'ASCII (7 bits) dans les deux cas.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si
Non.
La seule partie commune c'est les 128 premières valeurs, qui sont de
l'ASCII (7 bits) dans les deux cas.
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
l'utf-8 est bien un sur-ensemble de l'iso8859xx donc du 8859-15 donc si
Non.
La seule partie commune c'est les 128 premières valeurs, qui sont de l'ASCII (7 bits) dans les deux cas.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
dmetzler
Le lien ultra utile qui ouvre les yeux sur l'unicode (déjà posté ici...) :