Aller au contenu

Conversion jeux de caractères


Sujets conseillés

Posté

Je suis en train de travailler sur un petit crawler, et je bute contre un ecueil : je récupère bien le code des pages, mais si celles-ci comportent des accents, ceux-ci se trouvent parfois transformés en points d'interrogation.

Comment faire pour convertir la chaîne que je récupère en ISO ?

J'ai bien essayé la méthode trouvée ici (http://www.phpcs.com/codes/CONVERTIR-CHAIN...8859_40867.aspx), mais elle semble ne pas fonctionner dans mon cas (le souci est-il bien dû à l'UTF-8, d'ailleurs ?).

Posté (modifié)

Toutes les pages n'ont pas le même encodage. Il faut d'abord déterminer l'encodage utilisé dans la page que tu analyses. Soit tu essaies de deviner le type d'encodage en examinant le texte de la page, soit tu te bases sur l'en-tête HTTP et la META "Content-Type".

Une fois que cela est fait, il existe des fonctions PHP pour convertir l'UTF-8 en ISO ou inversement (comme expliqué dans l'article que tu cites).

Jean-Luc

Modifié par Jeanluc
Posté

Le souci, c'est quand je fais un "transcodage" inconditionnel (je passe tout à la moulinette utf8_decode() pour tester), ces points d'interrogation subsistent. C'est pour ça que je me demandais si le problème venait bien de l'UTF8 ou d'autre chose.

Posté

Salut captain_torche ;)

je passe tout à la moulinette utf8_decode() pour tester
Le problème vient vraisemblablement de là :)

Vincent parle de cette fonction dans un billet de son blog intitulé PHP, MySQL, et UTF-8 sont sur un bateau en ces termes:

Oui mais en fait, ce n'est pas si simple, car la fonction utf8_decode() est destructrice, c’est à dire que les caractères dans la chaîne qui n’ont pas d’équivalent en latin1 seront remplacés par un point d’interrogation.

Les points d'interrogation que tu récupères sont-ils effectivement, dans les pages crawlées, des caractères qui n'existent pas en ISO-8859-1 (Latin-1) ?

Si oui, tu as ta réponse.

Quoiqu'il en soit, vérifier l'encodage via l'en-tête HTTP me semble primordial comme le dit Jeanluc.

Bon courage.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...