J'ai un fichier txt:
$ file -i x.txt
x.txt: text/plain; charset=unknown-8bit
$ file x.txt
x.txt: Non-ISO extended-ASCII text, with CRLF line terminators
Et il y a certains caractères qui sont mal encodés:
trwa³y, sta³y, usuwaæ
Comment puis-je changer l'encodage de ce fichier en UTF-8? J'ai essayé jusqu'à présent la manière suivante:
$ iconv -f ASCII -t UTF-8 x.txt
puiconv: illegal input sequence at position 4
Peut-être que je devrais utiliser extended ASCII
( high ASCII
) mais je ne le trouve pas dans iconv
la liste de codage.
character-encoding
text
Patryk
la source
la source
iconv -f windows-1252 -t utf-8 file
Réponses:
file
vous indique «Texte ASCII étendu non ISO» car il détecte qu'il s'agit de:Vous devez déterminer dans quel codage ce fichier semble être. Vous pouvez essayer la reconnaissance automatique d' Enca . Vous devrez peut-être le pousser dans la bonne direction en lui indiquant dans quelle langue le texte est.
Pour convertir le fichier, passez l'
-x
option:enca -L polish x.txt -x utf8 >x.utf8.txt
Si vous ne pouvez pas ou ne voulez pas utiliser Enca, vous pouvez deviner l'encodage manuellement. Un peu de regarder autour de moi m'a dit que c'est du texte polonais et que les mots sont trwały, stały, usuważ, donc nous cherchons une traduction où
³
→ł
etæ
→ż
. Cela ressemble latin-2 ou latin-10 ou plus susceptibles (donné « non-ISO » CP1250 que vous visionnez comme latin1 . Pour convertir le fichier en UTF-8, vous pouvez utiliser recodage ou iconv .la source
< x.txt > x.utf8.txt
pourquoi utilisons-nous<
et ensuite>
? Comment ça marche?<
et>
effectuez la redirection d'entrée et de sortie respectivement .Ouvrez le fichier texte avec gedit et dans la boîte de dialogue "Enregistrer sous ..", vous verrez l'encodage actuel.
la source
Avez-vous essayé de savoir quel encodage exact est x.txt? Vous obtiendrez une liste des encodages pris en charge avec
Parfois, il m'arrive que j'obtienne un décalage entre latin1 et utf8. Ensuite, il est souvent utile de le convertir de et vers utf8 et vice versa.
la source
J'ai créé un script de conversion automatisé à l'aide de la bibliothèque enca , je l'utilise sur mon NAS pour convertir des sous-titres en UTF-8 mais il pourrait être utilisé pour toute conversion automatisée
N'hésitez pas à utiliser :)
ÉDITER:
la source