[PHP XML] problème de conversion UTF-16 -> ISO-8859-1

problème de conversion UTF-16 -> ISO-8859-1 [PHP XML] - PHP - Programmation

Marsh Posté le 04-11-2005 à 15:36:09    

Bonjour à tous :hello: ,  
 
Une recherche n'ayant rien donnée, je vous expose mon problème :
 
Je traite des fichiers XLM en UTF-16  
 
ma classe ouvre le fichier classiquement ( $content = file_get_contents($file); )
puis convertit l'encodage afin de pouvoir utiliser correctement les fichiers XML avec d'autres classes
( $content = mb_convert_encoding($content,"ISO-8859-1","UTF-16" ); )
 
le souci est que certains caractères (code hexa 0x0019 -> sorte d'apostrophe, et code 0x0026 -> ... ) ne sont pas convertis mais sont remplacé par le caractère de substitution par défaut ( ? ou mb_substitute_character(CODE_HEXA_QUE_JE_VEUX);
 
 
je souhaite remplacer les caractères qui posent problème avant leur conversion en ISO-8859-1 et j'ai déjà testé sans succès :
 str_replace avec les codes hexa, et avec les symboles convertis en UTF-16,
 strtr avec les codes hexa, et avec les symboles convertis en UTF-16,
 mb_ereg_replace avec les codes hexa, et avec les symboles convertis en UTF-16  
 
rien ne marche pour le moment, si vous avez des idées pour contourner ou résoudre le problème je suis preneur  :jap:

Reply

Marsh Posté le 04-11-2005 à 15:36:09   

Reply

Marsh Posté le 04-11-2005 à 15:46:58    

bon en cherchant dans la section xml plutot que php j'ai trouvé une nouvelle piste en utilisant iconv avec //TRANSLIT, si le résultat est acceptable ca peut le faire :D

Reply

Marsh Posté le 04-11-2005 à 16:07:23    

c'est bon j'ai trouvé la solution :D  
 
je remplace  
 
$content = mb_convert_encoding($content,"ISO-8859-1","UTF-16" );
 
par  
 
$content = iconv('UTF-16','ISO-8859-1//TRANSLIT',$content);
 
et ca marche à peu près :sol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed