Upload d'un fichier :

Les utilisateurs de mon site peuvent uploader des fichiers texte. Tout
se passe bien lorsqu’ils sont codés en UTF8 mais pas lorsqu’ils sont
codés en ANSI.

Donc 2 questions que mes googlades n’ont pas réussi à résoudre :
1- comment savoir quel encodage est utilisé dans le fichier ?
2- comment convertir un fichier ANSI en UTF8 ?

Des idées ?

Et c’est quoi le problème quand ils envoient un fichier ANSI?

Comment stockes tu les fichiers?

C’est un fichier tsv (tab separated values). Je le parse, ligne par
ligne.
Lorsque je regarde ces lignes avec un debugger, les caractères accentués
ont
été remplacés par des \ufffd. Et lorsque ces lignes sont sauvées dans
MySQL,
tous les caractères qui suivent le \ufffd inclu disparaîssent.

On Fri, Jan 23, 2009 at 4:40 PM, Aurélien Bottazini

julien ciaffi wrote:

C’est un fichier tsv (tab separated values). Je le parse, ligne par
ligne.
Lorsque je regarde ces lignes avec un debugger, les caractères accentués
ont
été remplacés par des \ufffd. Et lorsque ces lignes sont sauvées dans
MySQL,
tous les caractères qui suivent le \ufffd inclu disparaîssent.

On Fri, Jan 23, 2009 at 4:40 PM, Aurélien Bottazini

Vous stockez les fichiers directement sur le disque dur ou bien vous
insérez les données dans une base de donnée, ou autre?

Je stocke chaque ligne du fichier dans MySQL.

Aucune idée sur la differenciation et le traitement de fichiers ANSI/
UTF8 ? Je n’ai toujours pas réussi à résoudre ce problème.

Merci,
Julien

Le 23 janvier 2009 16:35, julien a écrit :

Les utilisateurs de mon site peuvent uploader des fichiers
texte. Tout se passe bien lorsqu’ils sont codés en UTF8
mais pas lorsqu’ils sont codés en ANSI.

Donc 2 questions que mes googlades n’ont pas réussi à résoudre :
1- comment savoir quel encodage est utilisé dans le fichier ?

ça me semble impossible de le savoir de manière certaine. Il
faut alors passer par une heuristique (genre charguess)

2- comment convertir un fichier ANSI en UTF8 ?

Bon alors, je me demandais, mais c’est quoi le format ANSI ?

Après “googlade”,
http://forum.alsacreations.com/faq/faq-98-S039y-retrouver-entre-ASCII-ANSI-Latin1-ISO-8859-1-MacRoman-Windows-1252-etc.html

aaaaaaaaaah du CP-1252, une windowserie quoi :slight_smile:
Bon je passe la main à un windowsien.

À part ça, oui, ton SGBDR MySQL va avoir du mal à gérer
à la fois de l’UTF-8 et du CP1252, je ne sais même pas
d’ailleurs si MySQL sait gérer le CP-1252. Et pour convertir
du CP-1252 en UTF-8, Iconv sait sûrement le faire.

– Jean-François.


http://twitter.com/underflow_