bonjour
je travaille sur un site avec des parties en chinois
le site est entierement utf-8 , avec
1 2 3
|
<META http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> |
les fichiers php sont produits avec notepad option "encoder en utf-8 sans BOM"
et (pour l'instant) les textes en chinois sont des copies-collés de traductions du français obtenues avec google traduction ,
inserés via php dans la bd MySql
( champs varchar en utf8_unicode_ci et instruction mysql_set_charset ('utf8') ; à l'ouverture de la base )
jusque là tout va bien, les ideogrammes chinois s'inserrent et s'affichent parfaitement
le probleme : je dois recuperer des textes chinois en provenance de sites webs chinois , qui n'ont pas le meme systeme de codage
ex : le charset gb2312 ( chinois simplifié, tres utilisé)
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>百度搜索_中国最美丽的城市 </title>
à l'ecran ( google chrome , ie, .. ) , les idéogrammes apparaissent correctement , idem en visualisant le source des pages web
par contre si je fais un copie collé et le met dans notepad
--> encodage UTF-8 sans bom : les ideogrammes se changent en une suite de rectangle
--> encodage ISO- : les ideogrammes deviennent : ????_????????
--> les autres options "codage de caractere" , nada, cela donne rien
J'ai essayé en sauvegardant d'abord le source avan de l'ouvrir sous notepad ( unicode par defaut)
idem des rectangles
Par contre en ouvrant le fichier sauvegardé sous word, alors là ca marche, mais plus ou moins :
plus : word met 10 minutes à ouvrir le fichier, le resultat est visiblement correct , la police de caractere est SimSun
moins : je ne peux toujours rien en faire !
---------------
pour essayer de comprendre, j'ai tenté un autre truc : recuperer le source par curl et l'afficher
( apres avoir enlevé les balises) à l'ecran
tel quel : les idéogrammes donnent qq chose du genre °Ù¶ÈËÑË÷_Îҵķ¨¹ú³µ
et sur plusieurs morceaux de texte , l'instruction
$text = iconv( "gb2312", "utf-8", $text) ;
donne soit rien pour certain, soit un seul ideogramme pour d'autres
------------
est ce que vous savez quel est le probleme et ce que je devrai faire ?
merci de votre aide
Partager