Morkxy
1
Bonjours,
J’ai testé cela comme script pour une conversion de caractere avec la fonction iconv:
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<?
$nom="?erný"; // (DE SUITE MAL AFFICHER PAR CLUBIC DAILLEUR...) :)
print (iconv("utf8","ASCII//TRANSLIT",$nom));
?>
</body>
</html>
Et lorsque je vais sur cette page en http, j’ai le mot “?ern?” qui s’ecrit (mauvais donc…)
alors que si j’execute la page via un shell (je suis sour linux)
root@serveur# php5 /var/www/mapage.php
ca me donne le mot (juste!) : Cerny
Une explication ? Je galaire depuis des heures la dessus !
MERCI !
Edité le 01/07/2008 à 11:59
Morkxy
2
dans la suite du binz…
j’ai encodé la chaine en base 64 :
print (base64_encode(iconv("utf-8","ASCII//TRANSLIT",$nom)));
ca me donne : $nom en base 64 => P2Vyb8=
et j’ai decodé :
print (base64_decode("P2Vyb8="));
ca me donne :
?ern?
ILLOGIQUE… :s je retombe pas sur mes pieds !
Edité le 01/07/2008 à 14:13
logique.
Ton navigateur va lire du us ascii, ta console de l’utf-8
Essaye iso-8859-1 déjà, et utf-8 ensuite. voire utf-16 and co.
Morkxy
4
Grand merci de t’etre donné la peine de me répondre 
J’ai testé avec les 3 types que tu viens de me donné [pour commencer] => sans succes
EDIT : j ai essayé avec les autres type : que niet :S
par contre je vois pas pourquoi il attendrait autre chose que tu u-ascii … vu que la chaine que j’ai converti c’etait EN us-ascii ^^
Tu vois ?
Edité le 01/07/2008 à 14:39
Hum. Tu pars de l’ascii vers l’utf-8 ? ou l’inverse?
Dans un cas ok (ascii -> utf-8 = inutile, utf-8 contient ascii)
Dans l’autre cas je vois mal comment ça peut marcher pour tous les cas?
Morkxy
6
Je part de l’utf-8 vers l’ascii et la fonction ICONV prétend savoir le fair!
Et en effet ca marchje comme dit,…mais que si j’execute ma page en shell linux! truc de fou!