Post by EtienneLE CERCLE CRM - Petit-Déjeuner du 29 juin 2010
le bin2hex
4c 45 20 43 45 52 43 4c 45 20 43 52 4d 20 2d 20
L E C E R C L E C R M -
Tout ceci est de l'ASCII 7 bits, lequel est compatible à la fois avec
tous les ISO-8859-X, avec les codages Windows CP1252 et MS-DOS CP850, et
aussi avec l'UTF-8.
Post by Etienne50 65 74 69 74 2d 44 c3a9 6a 65 75 6e 65 72 20
P e t i t - d é j e u n e r
ASCII 7 bits partout, sauf pour le é = C3A9.
Post by Etienne64 75 20 32 39 20 6a 75 69 6e 20 32 30 31 30
d u 2 9 j u i n 2 0 1 0
ASCII 7 bits partout.
Voyons donc comment se code un é dans divers codages :
<http://www.miakinen.net/vrac/charsets/?or=2&pr=233>
C'est 'E9' en ISO-8859-1, ISO-8859-15 et CP1252, '82' en CP850, '8E' en
MacRoman, et 'C3A9' en UTF-8.
En conclusion : ce texte est déjà de l'UTF-8.
Post by Etiennele resultat de iconv($useCharset, "UTF-8//TRANSLIT", $string);
LE CERCLE CRM - Petit-D
Ah ? Il vaut quoi, $useCharset ?
Si c'est "UTF-8" tu devrais obtenir :
LE CERCLE CRM - Petit-Déjeuner du 29 juin 2010
Si c'est "ISO-8859-1" ou "ISO-8859-15" ou "CP1252", tu devrais avoir :
LE CERCLE CRM - Petit-Déjeuner du 29 juin 2010
Avec "CP850" ça devrait faire :
LE CERCLE CRM - Petit-D�"�®jeuner du 29 juin 2010
Dans le cas de "MacRoman" :
LE CERCLE CRM - Petit-Déjeuner du 29 juin 2010
En fait, le seul charset que je connaisse devant à mon avis provoquer
une telle erreur est "ASCII"... à moins que ce ne soit un truc exotique
du genre de "Shift-JIS" ou "Big5" ?
Post by Etienneon voit donc que le //TRANSLIT deja ne sert a rien dans ce cas... il
traitement s'arrète net !
Le //TRANSLIT et le //IGNORE servent à traiter un caractère existant
dans le charset source mais inexistant dans le charset de destination.
Autant dire qu'ils ne servent à rien si la destination est UTF-8 (et
qu'ils ne peuvent rien faire s'il y a une incohérence entre le texte
source et sa déclaration).
Post by EtiennePeut être que que le charset d'origine n'est pas le bon (j'ai utilisé
celui envoyé dans le mail)
Justement, lequel était-ce ?
Post by Etiennepar contre
mb_convert_encoding($string, "UTF-8", 'auto');
convertit correctement.
Voui. UTF-8 est *très* facile à reconnaître, avec très peu de risques
d'erreur, et convertir de UTF-8 en UTF-8 ne doit pas être une tâche
insurmontable... ;-)
Cordialement,
--
Olivier Miakinen