2010-06-23 8 views
0

La ligne ci-dessous est un exemple de l'un des nombreux fichiers avec un mauvais codage de caractères que j'ai;Quel est le codage de caractères qui pourrait correspondre à cette conversion: De "§" à "Ç"?

REAPRESENTA§AO VIA DTENTRY 

La présentation correcte devrait être le suivant:

REAPRESENTAÇAO VIA DTENTRY 

Il y a plus de caractères avec un mauvais encodage. Comment est-ce que je corrige ceci?

alt text http://nerull.webs.com/screen.JPG

+1

Tu es sûr que la police que vous utilisez est pas la cause? – Will

+0

Non. C'est un fichier texte avec une police compatible utf-8! –

+0

Veuillez fournir plus d'informations. – kennytm

Répondre

3

Les fichiers eux-mêmes n'a pas le mauvais encodage, il est quand vous lisez le fichier que vous utilisez le mauvais encodage pour les décoder.

La correction consiste à utiliser le même codage pour décoder le fichier qui a été utilisé pour le coder. Si vous ne savez pas quel encodage c'est, vous devriez trouver le code d'octet pour les caractères problématiques avant qu'ils ne soient décodés, et chercher un encodage avec un jeu de caractères où le code de caractère correspond au caractère que vous voulez . Par exemple, le fichier pourrait être codé en utilisant IBM905 de sorte que le caractère "Ç" soit codé dans le code d'octet 74. Si vous décodez ensuite le fichier en utilisant IBM278, le code d'octet 74 est interprété comme le caractère "§". .

Voici une liste des combinaisons possibles que je trouve dans la mémoire intégrée codages:

from cp875 to IBM290 
from cp875 to IBM420 
from cp875 to x-EBCDIC-KoreanExtended 
from cp875 to IBM-Thai 
from cp875 to IBM880 
from IBM290 to IBM290 
from IBM290 to IBM420 
from IBM290 to x-EBCDIC-KoreanExtended 
from IBM290 to IBM-Thai 
from IBM290 to IBM880 
from IBM420 to IBM290 
from IBM420 to IBM420 
from IBM420 to x-EBCDIC-KoreanExtended 
from IBM420 to IBM-Thai 
from IBM420 to IBM880 
from IBM424 to IBM290 
from IBM424 to IBM420 
from IBM424 to x-EBCDIC-KoreanExtended 
from IBM424 to IBM-Thai 
from IBM424 to IBM880 
from x-EBCDIC-KoreanExtended to IBM290 
from x-EBCDIC-KoreanExtended to IBM420 
from x-EBCDIC-KoreanExtended to x-EBCDIC-KoreanExtended 
from x-EBCDIC-KoreanExtended to IBM-Thai 
from x-EBCDIC-KoreanExtended to IBM880 
from IBM-Thai to IBM290 
from IBM-Thai to IBM420 
from IBM-Thai to x-EBCDIC-KoreanExtended 
from IBM-Thai to IBM-Thai 
from IBM-Thai to IBM880 
from IBM880 to IBM290 
from IBM880 to IBM420 
from IBM880 to x-EBCDIC-KoreanExtended 
from IBM880 to IBM-Thai 
from IBM880 to IBM880 
from cp1025 to IBM290 
from cp1025 to IBM420 
from cp1025 to x-EBCDIC-KoreanExtended 
from cp1025 to IBM-Thai 
from cp1025 to IBM880 
from IBM1026 to IBM01143 
from IBM1026 to IBM278 
from IBM905 to IBM01143 
from IBM905 to IBM278 
+1

@Guffa: Je pense que c'est ce que la question était (c'est-à-dire le processus décrit dans votre dernier paragraphe), en utilisant l'implémentation de Mechanical Turk de SO. –

+0

@Guffa, voir si cette image aide à identifier l'encodage. –

+0

@Guffa, savez-vous s'il est possible de faire cette conversion en utilisant PHP? –

Questions connexes