Re: zip_entry_name & accents
Le 07/09/2007 09:51, heulman a écrit :
>
> Pas très compréhensible mon truc, je recommence...
>
> Dans mon zip j'ai un fichier "éléphant.jpg" situé dans le répertoire
> "animaux".
>
> Après décompression, j'obtiens un fichier "image-01.jpg" situé dans un
> répertoire "album-01"
> et j'ai les informations suivantes en base de données:
> - "album-01" s'appelle "animaux"
> - "image-01.jpg" a pour titre ",l,phant" <== là ça merdoit
>
>> è devient S
>> é devient ,
>
> en fait è devient un s majuscule avec un accent circonflexe inversé ( S si
> ce caractère veut bien passer)
> si ça dit quelquechose à qq
Je crois que j'ai trouvé. Attention, ma réponse est envoyée en CP1252
pour afficher les caractères en question.
Est-ce que ce qui suit est vrai ?
è devient ‚ (qui n'est pas une virgule « , » mais un guillemet anglais)
é devient Š (S avec caron)
à devient -- (trois points en un seul caractère)
ç devient ‡ (double-dagger)
ë devient ‰ (pour mille)
Si oui, c'est que tes noms de fichier sont écrits en CP850, jeu de
caractères par défaut des MS-DOS occidentaux, alors que les titres
attendent du CP1252, jeu de caractères par défaut des Windows
occidentaux (sauf probablement les plus récents qui doivent être
en UTF-8).
Pour trouver la correspondance entre les deux, va voir sur ma page
<http://www.miakinen.net/vrac/charsets/>, choisis un caractère dans
l'onglet CP850, et regarde lequel lui correspond dans l'onglet CP1252.
La solution en PHP, maintenant ? Tu peux utiliser iconv pour convertir
de CP850 vers CP1252. Voir <http://fr2.php.net/iconv>.
|