2015-02-24 1 views
2

Je soupçonne que certaines données ont été enregistrées (sur des machines Windows) comme ANSI. Par conséquent, les caractères hébreux originaux ont été perdus et ce que nous voyons est des choses comme ùéôåãé äòéø.Hébreu corrompu: sauvé en tant qu'isi - reconverti en UTF-8

L'information est-elle perdue ou y a-t-il une possibilité de mapper les caractères, sachant que le texte original était hébreu?

Répondre

1

L'information n'est probablement pas perdue, ou tout au plus partiellement perdue. Si vous voulez utiliser Python:

import codecs 
BLOCKSIZE = 1048576 # or some other, desired size in bytes 
with codecs.open("input.txt", "r", "windows-1255") as sourceFile: 
    with codecs.open("output.txt", "w", "utf-8") as targetFile: 
     while True: 
      contents = sourceFile.read(BLOCKSIZE) 
      if not contents: 
       break 
      targetFile.write(contents) 

volés et adapté de How to convert a file to utf-8 in Python?

Vous pouvez également utiliser un outil externe, comme iconv:

iconv -f windows-1255 -t utf-8 input.txt > output.txt 

Iconv est disponible dans la plupart distibutions Linux, en Cygwin, et sur d'autres plateformes.

Si le fichier a double mutilée, vous devrez peut-être faire quelque chose comme ceci:

iconv -f utf-8 -t windows-1252 input.txt > tmp.txt 
iconv -f windows-1255 -t utf-8 tmp.txt > output.txt 

mais les chances que ce genre de choses est arrivé sont minuscules.

+0

Il peut s'agir d'une page de code dédiée à l'hébreu plutôt qu'à l'UTF-8. –