Je galère depuis quelques jours sur un problème, et j'ai rien trouvé
d'intéressant sur Google que se soit sur le web ou dans les newsgroups.
Je génère un fichier XML encodé en utf-8, pour encoder les textes rentrées
j'y vais à coup de utf8_encode(htmlspecialchars($texte)) pour être conforme
à la fois à XML et au paramètre d'entrée de utf8_encode (utf8_encode
convertit de iso-8859-1 en utf-8).
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
J'aimerais savoir qu'elle est la meilleur stratégie à adopter à votre avis,
pour l'instant je fais un str_replace mais la solution me convient pas car
j'imagine que le problème peu se reposer avec d'autre caractère. Qu'elles
sont les caractères à problème et existe t-il une solution propre pour y
remédier ?
PS : v. PHP 4.3.2
D'avance un grand merci pour votre aide,
Séb
-- carpe diem --
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne
savait pas et qu'il l'a fait. Marcel Pagnol.
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des caractères spéciaux MS Windows qui sont en fait du cp1252 ? Auquel cas il faut faire une fonction spécifique pour gérer ces quelques caractères. Je sais que Olivier Meunier a fait et travaillé une telle fonction de conversion pour son outil de blog. Tu peux fouiller sur http://www.neokraft.net et http://www.dotclear.net il doit y avoir un endroit où il en parle sur un des deux (et le cas échéant prendre le code de la version de développement et regarder où il faut ce genre de transfo).
-- Eric Daspet Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/
Seb wrote:
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des
caractères spéciaux MS Windows qui sont en fait du cp1252 ?
Auquel cas il faut faire une fonction spécifique pour gérer ces quelques
caractères. Je sais que Olivier Meunier a fait et travaillé une telle
fonction de conversion pour son outil de blog. Tu peux fouiller sur
http://www.neokraft.net et http://www.dotclear.net il doit y avoir un
endroit où il en parle sur un des deux (et le cas échéant prendre le
code de la version de développement et regarder où il faut ce genre de
transfo).
--
Eric Daspet
Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des caractères spéciaux MS Windows qui sont en fait du cp1252 ? Auquel cas il faut faire une fonction spécifique pour gérer ces quelques caractères. Je sais que Olivier Meunier a fait et travaillé une telle fonction de conversion pour son outil de blog. Tu peux fouiller sur http://www.neokraft.net et http://www.dotclear.net il doit y avoir un endroit où il en parle sur un des deux (et le cas échéant prendre le code de la version de développement et regarder où il faut ce genre de transfo).
-- Eric Daspet Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/
Etienne SOBOLE
"Seb" a écrit dans le message de news: 40a2c112$0$17918$
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
Salut. bon ben c'est complètement exacte ce que tu dis :) tout les caractère 0x9? ne sont pas traduisible en UTF-8. pourquoi je sais pas, mais je crois que c'est en grande partie due au fait que la charset source est un charset windows.
bref. moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a faire. j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
Etienne
"Seb" <bonemine-antispam@free.fr> a écrit dans le message de news:
40a2c112$0$17918$626a14ce@news.free.fr...
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je
me
retrouve avec un document XML non valide !
Salut.
bon ben c'est complètement exacte ce que tu dis :)
tout les caractère 0x9? ne sont pas traduisible en UTF-8.
pourquoi je sais pas, mais je crois que c'est en grande partie due au fait
que la charset source est un charset windows.
bref.
moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a faire.
j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
"Seb" a écrit dans le message de news: 40a2c112$0$17918$
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
Salut. bon ben c'est complètement exacte ce que tu dis :) tout les caractère 0x9? ne sont pas traduisible en UTF-8. pourquoi je sais pas, mais je crois que c'est en grande partie due au fait que la charset source est un charset windows.
bref. moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a faire. j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
Etienne
John Gallet
Bonjour,
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
JG
Bonjour,
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
JG
Olivier Miakinen
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce caractère à la position 146.
Tu peux mettre à la poubelle tous tes signets vers des pages web prétendant le contraire. Une recherche via google m'en a trouvé des tas. La plupart appelle d'ailleurs « ASCII » des caractères dont le numéro est supérieur à 127, ce qui est une autre hérésie.
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote
mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce
caractère à la position 146.
Tu peux mettre à la poubelle tous tes signets vers des pages web
prétendant le contraire. Une recherche via google m'en a trouvé des
tas. La plupart appelle d'ailleurs « ASCII » des caractères dont le
numéro est supérieur à 127, ce qui est une autre hérésie.
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce caractère à la position 146.
Tu peux mettre à la poubelle tous tes signets vers des pages web prétendant le contraire. Une recherche via google m'en a trouvé des tas. La plupart appelle d'ailleurs « ASCII » des caractères dont le numéro est supérieur à 127, ce qui est une autre hérésie.
Olivier Miakinen
Bonjour,
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur 146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec 'CP1252' comme code d'entrée devrait fonctionner. <http://fr2.php.net/manual/fr/ref.iconv.php>
Bonjour,
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur
146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec
'CP1252' comme code d'entrée devrait fonctionner.
<http://fr2.php.net/manual/fr/ref.iconv.php>
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur 146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec 'CP1252' comme code d'entrée devrait fonctionner. <http://fr2.php.net/manual/fr/ref.iconv.php>
Seb
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce caractère à la position 146.
Merci :), ça m'a aidé.
Tu peux mettre à la poubelle tous tes signets vers des pages web prétendant le contraire. Une recherche via google m'en a trouvé des tas.
Oui, il y en a un bon nombre !!
Séb
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple :
right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup
je me
retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote
mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce
caractère à la position 146.
Merci :), ça m'a aidé.
Tu peux mettre à la poubelle tous tes signets vers des pages web
prétendant le contraire. Une recherche via google m'en a trouvé des
tas.
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
C'est normal, puisque ’ n'existe pas. Le « right single quote mark » est U+2019, soit ’ en décimal. Seul windows-1252 a ce caractère à la position 146.
Merci :), ça m'a aidé.
Tu peux mettre à la poubelle tous tes signets vers des pages web prétendant le contraire. Une recherche via google m'en a trouvé des tas.
Oui, il y en a un bon nombre !!
Séb
Seb
Seb wrote:
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des caractères spéciaux MS Windows qui sont en fait du cp1252 ? Auquel cas il faut faire une fonction spécifique pour gérer ces quelques caractères. Je sais que Olivier Meunier a fait et travaillé une telle fonction de conversion pour son outil de blog. Tu peux fouiller sur http://www.neokraft.net et http://www.dotclear.net il doit y avoir un endroit où il en parle sur un des deux (et le cas échéant prendre le code de la version de développement et regarder où il faut ce genre de transfo).
php tiré de la class.wiki2whtml.php # Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
Merci, ça me donne une liste des caractères à problème, mais je ne crois pas qu'elle soit complète à moins que j'ai loupé quelque chose.
Séb
Seb wrote:
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple :
right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup
je me
retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des
caractères spéciaux MS Windows qui sont en fait du cp1252 ?
Auquel cas il faut faire une fonction spécifique pour gérer ces quelques
caractères. Je sais que Olivier Meunier a fait et travaillé une telle
fonction de conversion pour son outil de blog. Tu peux fouiller sur
http://www.neokraft.net et http://www.dotclear.net il doit y avoir un
endroit où il en parle sur un des deux (et le cas échéant prendre le
code de la version de développement et regarder où il faut ce genre de
transfo).
php tiré de la class.wiki2whtml.php
# Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je me
retrouve avec un document XML non valide !
Es tu sûr qu'il s'agit bien d'un caractère ISO-8859-1 et pas un des caractères spéciaux MS Windows qui sont en fait du cp1252 ? Auquel cas il faut faire une fonction spécifique pour gérer ces quelques caractères. Je sais que Olivier Meunier a fait et travaillé une telle fonction de conversion pour son outil de blog. Tu peux fouiller sur http://www.neokraft.net et http://www.dotclear.net il doit y avoir un endroit où il en parle sur un des deux (et le cas échéant prendre le code de la version de développement et regarder où il faut ce genre de transfo).
php tiré de la class.wiki2whtml.php # Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
Merci, ça me donne une liste des caractères à problème, mais je ne crois pas qu'elle soit complète à moins que j'ai loupé quelque chose.
Séb
Olivier Miakinen
php tiré de la class.wiki2whtml.php # Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
[...] # Correction des caractères faits par certains traitement # de texte comme Word if ($this->getOpt('active_fix_word_entities')) { $wR = array( ',' => '‚', 'f' => 'ƒ', [...] 'Y' => 'Ÿ', '?' => '€');
Merci, ça me donne une liste des caractères à problème, mais je ne crois pas qu'elle soit complète à moins que j'ai loupé quelque chose.
J'ai compté 25 lignes dans cet exemple, alors qu'il y a 27 caractères non grisés dans les lignes 80 et 90 de la page qui suit : http://www.microsoft.com/globaldev/reference/sbcs/1252.htm
Je suppose donc qu'il manque 2 traductions. Mais je ne peux pas te dire lesquelles vu que, par définition, on ne peut pas les transmettre sur usenet sans utiliser le codage propriétaire Microsoft ou utf-8, tous deux interdits dans ce groupe.
Regarde quand même le bas de la page que je viens de citer. Elle contient des lignes telles que celles-ci :
80 = U+20AC : EURO SIGN 82 = U+201A : SINGLE LOW-9 QUOTATION MARK 83 = U+0192 : LATIN SMALL LETTER F WITH HOOK etc.
Il suffit de traduire les nombres en décimal pour avoir les bons codes. Par exemple U+20AC = € pour l'euro (tiens, il fait partie des 2 qui manquent), U+201A = ‚ (le premier de ta liste), U+0192 ƒ (le second de ta liste), etc.
php tiré de la class.wiki2whtml.php
# Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
[...]
# Correction des caractères faits par certains traitement
# de texte comme Word
if ($this->getOpt('active_fix_word_entities')) {
$wR = array(
',' => '‚',
'f' => 'ƒ',
[...]
'Y' => 'Ÿ',
'?' => '€');
Merci, ça me donne une liste des caractères à problème, mais je ne crois pas
qu'elle soit complète à moins que j'ai loupé quelque chose.
J'ai compté 25 lignes dans cet exemple, alors qu'il y a 27 caractères
non grisés dans les lignes 80 et 90 de la page qui suit :
http://www.microsoft.com/globaldev/reference/sbcs/1252.htm
Je suppose donc qu'il manque 2 traductions. Mais je ne peux pas te dire
lesquelles vu que, par définition, on ne peut pas les transmettre sur
usenet sans utiliser le codage propriétaire Microsoft ou utf-8, tous
deux interdits dans ce groupe.
Regarde quand même le bas de la page que je viens de citer. Elle
contient des lignes telles que celles-ci :
80 = U+20AC : EURO SIGN
82 = U+201A : SINGLE LOW-9 QUOTATION MARK
83 = U+0192 : LATIN SMALL LETTER F WITH HOOK
etc.
Il suffit de traduire les nombres en décimal pour avoir les bons codes.
Par exemple U+20AC = € pour l'euro (tiens, il fait partie des 2
qui manquent), U+201A = ‚ (le premier de ta liste), U+0192 ƒ (le second de ta liste), etc.
php tiré de la class.wiki2whtml.php # Copyright (c) 2004 Olivier Meunier and contributors. All rights reserved
[...] # Correction des caractères faits par certains traitement # de texte comme Word if ($this->getOpt('active_fix_word_entities')) { $wR = array( ',' => '‚', 'f' => 'ƒ', [...] 'Y' => 'Ÿ', '?' => '€');
Merci, ça me donne une liste des caractères à problème, mais je ne crois pas qu'elle soit complète à moins que j'ai loupé quelque chose.
J'ai compté 25 lignes dans cet exemple, alors qu'il y a 27 caractères non grisés dans les lignes 80 et 90 de la page qui suit : http://www.microsoft.com/globaldev/reference/sbcs/1252.htm
Je suppose donc qu'il manque 2 traductions. Mais je ne peux pas te dire lesquelles vu que, par définition, on ne peut pas les transmettre sur usenet sans utiliser le codage propriétaire Microsoft ou utf-8, tous deux interdits dans ce groupe.
Regarde quand même le bas de la page que je viens de citer. Elle contient des lignes telles que celles-ci :
80 = U+20AC : EURO SIGN 82 = U+201A : SINGLE LOW-9 QUOTATION MARK 83 = U+0192 : LATIN SMALL LETTER F WITH HOOK etc.
Il suffit de traduire les nombres en décimal pour avoir les bons codes. Par exemple U+20AC = € pour l'euro (tiens, il fait partie des 2 qui manquent), U+201A = ‚ (le premier de ta liste), U+0192 ƒ (le second de ta liste), etc.
Seb
"Seb" a écrit dans le message de news: 40a2c112$0$17918$
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je
me
retrouve avec un document XML non valide !
bon ben c'est complètement exacte ce que tu dis :) tout les caractère 0x9? ne sont pas traduisible en UTF-8. pourquoi je sais pas, mais je crois que c'est en grande partie due au fait que la charset source est un charset windows.
C'est possible en php avec une expression régulière de remplacer tout les 0x9?, je vois pas comment faire ?
moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a faire.
j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
J'hésiterais pas, mais je la cherche encore ;)
@+ Séb
"Seb" <bonemine-antispam@free.fr> a écrit dans le message de news:
40a2c112$0$17918$626a14ce@news.free.fr...
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple :
right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup
je
me
retrouve avec un document XML non valide !
bon ben c'est complètement exacte ce que tu dis :)
tout les caractère 0x9? ne sont pas traduisible en UTF-8.
pourquoi je sais pas, mais je crois que c'est en grande partie due au fait
que la charset source est un charset windows.
C'est possible en php avec une expression régulière de remplacer tout les
0x9?, je vois pas comment faire ?
moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a
faire.
j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
"Seb" a écrit dans le message de news: 40a2c112$0$17918$
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode du coup je
me
retrouve avec un document XML non valide !
bon ben c'est complètement exacte ce que tu dis :) tout les caractère 0x9? ne sont pas traduisible en UTF-8. pourquoi je sais pas, mais je crois que c'est en grande partie due au fait que la charset source est un charset windows.
C'est possible en php avec une expression régulière de remplacer tout les 0x9?, je vois pas comment faire ?
moi je fais un str_replace parce que 'ai j'ai rien trouvé de mieux a faire.
j'ai egalement des probleme avec le ? qui parfois n'est pas converti.
bref. si par hasard tu trouves la solution idéale, hésite pas a le dire.
J'hésiterais pas, mais je la cherche encore ;)
@+ Séb
Seb
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur 146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec 'CP1252' comme code d'entrée devrait fonctionner. <http://fr2.php.net/manual/fr/ref.iconv.php>
Merci, je ne connaissais pas cette lib, je vais l'essayer. Si je comprend bien, ce qu'il mieux faire, c'est de trouver qu'elle est l'encodage dans lequel l'utilisateur a rempli le formulaire puis convertir dans un encodage unique (type utf-8) pour avoir quelque chose de propre ?
Séb (pour les médiateurs : enlevés SVP -antispam pour me répondre , merci)
Jusque là pas de problème avec la grande majorités des caractères
(&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple :
right
single quote mark 92 ’ ’ --> '
Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur
146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec
'CP1252' comme code d'entrée devrait fonctionner.
<http://fr2.php.net/manual/fr/ref.iconv.php>
Merci, je ne connaissais pas cette lib, je vais l'essayer.
Si je comprend bien, ce qu'il mieux faire, c'est de trouver qu'elle est
l'encodage dans lequel l'utilisateur a rempli le formulaire puis convertir
dans un encodage unique (type utf-8) pour avoir quelque chose de propre ?
Séb
(pour les médiateurs : enlevés SVP -antispam pour me répondre , merci)
Jusque là pas de problème avec la grande majorités des caractères (&<>éèà...) mais je me suis aperçu : qu'avec celui-ci par exemple : right
single quote mark 92 ’ ’ --> ' Ni htmlspecialchars ou htmlentities et ni utf8_encode l'encode
Pour vérification : même en jouant avec ENT_QUOTES etc... ?
Aucune chance, à mon avis.
En revanche, si le caractère est mis en dur (un seul octet de valeur 146, au lieu des six octets /&/#/1/4/6/;/), alors la fonction iconv avec 'CP1252' comme code d'entrée devrait fonctionner. <http://fr2.php.net/manual/fr/ref.iconv.php>
Merci, je ne connaissais pas cette lib, je vais l'essayer. Si je comprend bien, ce qu'il mieux faire, c'est de trouver qu'elle est l'encodage dans lequel l'utilisateur a rempli le formulaire puis convertir dans un encodage unique (type utf-8) pour avoir quelque chose de propre ?
Séb (pour les médiateurs : enlevés SVP -antispam pour me répondre , merci)