Programmation » [PHP] output conversion failed
[PHP] output conversion failed
Publié le 02/06/2007 @ 12:08:06,
Par cauetVoilà ce qu'on m'a rapporté sur serveur de prod cette nuit:
Warning: DOMDocument::saveXML() [function.DOMDocument-saveXML]: output conversion failed due to conv error, bytes 0xE7 0x61 0x20 0x6D in /home/smsaction/sms/outgoing/push_mt.php on line 29
Ce script fonctionne à merveille depuis longtemps.. c'est la première fois que cette erreur ce produit.
Quelqu'un peux m'en dire plus?
Merci!
Warning: DOMDocument::saveXML() [function.DOMDocument-saveXML]: output conversion failed due to conv error, bytes 0xE7 0x61 0x20 0x6D in /home/smsaction/sms/outgoing/push_mt.php on line 29
Ce script fonctionne à merveille depuis longtemps.. c'est la première fois que cette erreur ce produit.
Quelqu'un peux m'en dire plus?
Merci!
[PHP] output conversion failed
Publié le 04/06/2007 @ 09:33:55,
Par ovhJ'ai trouvé ça :
http://groups.google.pl/group/mailing.www.php-dev/browse_thread/thread/a65ea6538ea83124/50a05148511fbbdd
http://groups.google.pl/group/mailing.www.php-dev/browse_thread/thread/a65ea6538ea83124/50a05148511fbbdd
Je n'ai rien à voir avec www.ovh.com
[PHP] output conversion failed
Publié le 05/06/2007 @ 11:14:59,
Par cauetBon apparemment, mon arbe XML étant constitué en ISO. Si je balance avant un utf8_decode ca merdoie.
Par contre sans ca marche et mes caractères passent en ISO..
Pas trop pigé sur ce coup
Par contre sans ca marche et mes caractères passent en ISO..
Pas trop pigé sur ce coup
[PHP] output conversion failed
Publié le 05/06/2007 @ 12:46:37,
Par philfrLogique: en iso-8859, les caractères > 128 sont valides, en utf-8, s'il y a un byte >128, c'est le premier d'un caratère multibyte.
Donc ta conversion foire si tu as des accents ou autres caractères spéciaux.
Donc ta conversion foire si tu as des accents ou autres caractères spéciaux.
[PHP] output conversion failed
Publié le 05/06/2007 @ 12:51:08,
Par cauetEt en concrètement?
utf8_decode qui est foireux alors? j'ai des doutes lÃ
utf8_decode qui est foireux alors? j'ai des doutes lÃ
[PHP] output conversion failed
Publié le 05/06/2007 @ 12:54:49,
Par philfrSi ton fichier est encodé en ISO-8859, tu ne dois pas le décoder comme de l'UTF-8.
Ton utf8_decode fonctionne sûrement très bien si tu lui donnes de l'utf-8 en entrée...
Ton utf8_decode fonctionne sûrement très bien si tu lui donnes de l'utf-8 en entrée...
[PHP] output conversion failed
Publié le 05/06/2007 @ 13:12:59,
Par caueten fait, il aurait fallut une fonction is_utf8() alors.. je met cette fonction car des fois elle est appelée avec de l'ISO, des fois en UTF.. va donc savoir
[PHP] output conversion failed
Publié le 05/06/2007 @ 13:20:29,
Par zionun texte en UTF commence en général par un délimiteur (me demande plus lequel, sauve avec le notepad puis éditeur hexa).
Par contre je me souviens avoir vu un jour un code assez bourrin qui est pas si con, c'est un truc du genre
pourquoi?
Parce que si c'est pas de l'UTF et que tu le décodes, il sera vide, sinon dans le pire des cas t'as rien perdu
Dernière édition: 05/06/2007 @ 13:21:00
Par contre je me souviens avoir vu un jour un code assez bourrin qui est pas si con, c'est un truc du genre
- $texte = "plop";
- $texte_decode = utf8_decode($texte);
- if ($texte_decode != "")
- $texte = $texte_decode;
pourquoi?
Parce que si c'est pas de l'UTF et que tu le décodes, il sera vide, sinon dans le pire des cas t'as rien perdu
Dernière édition: 05/06/2007 @ 13:21:00
Je suis le Roy
[PHP] output conversion failed
Publié le 05/06/2007 @ 17:49:14,
Par philfrParce que si c'est pas de l'UTF et que tu le décodes, il sera vide
Sauf si c'est de l'utf-8 valide sans être vraiment de l'utf-8.
Le string ISO8859-1 valide "é" est la séquence de bytes "\xc3\xa9"
Qui est aussi la représentation utf-8 du caractère "é".
Il n'y a pas de façon sûre de déterminer l'encodage d'une chaîne de caractères. Parfois pour l'utf-8 certains fichiers commencent en effet par une séquence "magique", mais c'est pas obligé
Et ce n'est de toutes façons jamais vrai pour les encodages ISO qu'on ne peut donc pas distinguer.