J'ai un fichier arabe encodé dans ISO8859-15 . Comment puis-je le convertir en UTF8?
J'ai utilisé iconv
mais cela ne fonctionne pas pour moi.
iconv -f ISO-8859-15 -t UTF-8 Myfile.txt
Je voulais joindre le fichier, mais je ne sais pas comment.
Se pourrait-il que votre fichier ne soit pas codé ISO-8859-15? Vous devriez pouvoir vérifier avec la commande de fichier:
fichier YourFile.txt
En outre, vous pouvez utiliser iconv sans fournir l'encodage du fichier d'origine:
iconv -t UTF-8 VotreFichier.txt
J'ai trouvé que cela fonctionne pour moi:
iconv -f ISO-8859-14 Agreement.txt -t UTF-8 -o agreement.txt
J'ai ubuntu 14 et les autres réponses où aucun travail pour moi
iconv -f ISO-8859-1 -t UTF-8 in.tex > out.tex
J'ai trouvé cette commande ici
dans mon cas, la commande file
indique un mauvais codage, alors j’ai essayé de convertir avec tous les codages possibles et j’ai trouvé le bon.
exécutez ce script et vérifiez le fichier de résultats.
for i in `iconv -l`
do
echo $i
iconv -f $i -t UTF-8 yourfile | grep "hint to tell converted success or not"
done &>/tmp/converted
Vous pouvez utiliser le codage ISO-8859-9:
iconv -f ISO-8859-9 Agreement.txt -t UTF-8 -o agreement.txt
J'ai le même problème, mais je trouve la réponse dans cette page ! cela fonctionne pour moi, vous pouvez l'essayer.
iconv -f cp936 -t utf-8
Iconv écrit simplement le texte converti sur stdout. Vous devez utiliser -o OUTPUTFILE.txt
en tant que paramètre ou écrire stdout dans un fichier. (iconv -f x -t z filename.txt > OUTPUTFILE.txt
ouiconv -f x -t z < filename.txt > OUTPUTFILE.txt
dans certaines versions iconv)
Synopsis
iconv -f encoding -t encoding inputfile
Description
The iconv program converts the encoding of characters in inputfile from one coded character set to another.
**The result is written to standard output unless otherwise specified by the --output option.**
--from-code, -f encoding
Convert characters from encoding
--to-code, -t encoding
Convert characters to encoding
--list
List known coded character sets
--output, -o file
Specify output file (instead of stdout)
--verbose
Print progress information.