J'ai une exigence où un client fournira un fichier ANSI, mais mon système ne peut lire avec succès un fichier en UNICODE. Alors, comment puis-je résoudre ce problème? Je sais quand je "sauvegarde" le fichier en tant que codé UNICODE le fichier est ramassé. Il est difficile de faire en sorte que le client se conforme à notre demande. Alors puis-je avoir un programme de traitement par lots pour ce dossier pour convertir ce fichier en UNICODE, puis ramasser?Comment convertir le fichier * .txt en Unicode
Répondre
recode pourrait faire le travail.
iconv
peut faire:
Usage: iconv [OPTION...] [FILE...]
Convert encoding of given files from one encoding to another.
Input/Output format specification:
-f, --from-code=NAME encoding of original text
-t, --to-code=NAME encoding for output
Information:
-l, --list list all known coded character sets
Output control:
-c omit invalid characters from output
-o, --output=FILE output file
-s, --silent suppress warnings
--verbose print progress information
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
Vous pouvez aussi facilement convertir encodages en python:
inf = open("infile.txt")
data = inf.read().decode("latin1")
inf.close()
outf = open("outfile.txt", "w")
outf.write(data.encode("utf-8"))
outf.close()
est ici une solution Powershell
$lines = gc "pathToFile"
$lines | out-file -enconding Unicode
Ni ANSI ni Unicode sont encodages. Vous devez connaître la page de code ANSI du fichier d'entrée et l'enco Unicode ding (UTF8 ou UTF16 - LE ou BE) avant de pouvoir utiliser l'un des outils suggérés (comme iconv)
Souhaite que je pourrais upvote cela plus. Pour la plupart des utilisateurs de Windows, "Unicode" signifie UTF32. La plupart des langues d'Europe occidentale utilisent la page de codes Latin1, donc la plupart des gens supposent que c'est l'encodage "ANSI" (encore une fois, je blâme MS pour leur utilisation des mots dans leurs options "Enregistrer sous"). –
Nous pourrions ajouter que regarder dans Panneau de configuration-> Paramètres régionaux-> Options avancées montrera quelles pages de code ANSI sont installées et utilisées. –
Sur les systèmes Windows, "Unicode" signifie généralement UTF-16. –
J'ai parcouru certains des outils mentionnés ci-dessus, beaucoup d'entre eux nécessitent une ligne de commande.
J'ai trouvé un moyen beaucoup plus facile de convertir les fichiers en Windows.
Installation Notepad2 (http://www.flos-freeware.ch/). C'est open source et gratuit.
Ouvrez le fichier a ANSI encodage,
Double Cliquez sur mot "ANSI" en bas,
Sélectionner nouveau codage tel que "UTF8"
Enregistrez le fichier.
Il suffit de quelques clics pour effectuer le travail.
De plus, vous pouvez facilement revoir le contenu une fois fait pour revérifier.
Le Bloc-notes2 présente divers avantages par rapport au Bloc-notes. Code mis en surbrillance, Undo/Redo etc.
: D
Je ne vois pas comment il est plus facile de changer l'encodage en utilisant l'interface graphique Notepad2 que d'utiliser la ligne de commande, en particulier avec plusieurs fichiers à faire? – ehambright
GUI est pour le cerveau: X Commandline besoin de dépendance ... notepad ++ est juste cliquez sur cliquez ... – CodeFarmer
Ruby oneliner, FWIW:
ruby -e 'STDOUT.write STDIN.read.force_encoding(Encoding::WINDOWS_1252).encode!(Encoding::UTF_8)' <infile.csv> outfile.csv
Si votre fichier d'entrée est horrible vous pourriez avoir besoin amure STDIN.binmode; STDOUT.binmode;
à l'avant du script Ruby.
- 1. Conversion de * .mis, * fin en fichier * txt
- 2. UserControl dans le fichier txt
- 3. Parse un fichier txt
- 4. Afficher le texte du fichier .txt dans le fichier batch
- 5. création d'un fichier txt
- 6. obtenir le chemin du fichier txt
- 7. Comment convertir des séquences d'échappement Unicode en caractères Unicode dans une chaîne .NET?
- 8. Comment convertir les caractères Unicode en codes d'échappement
- 9. Convertir un codepoint unicode en hexadécimal UTF8 en python
- 10. Comment convertir std :: string à LPCWSTR en C++ (Unicode)
- 11. du fichier txt aux tableaux
- 12. comment convertir une table mysql en fichier texte en php?
- 13. Lorsqu'un formulaire charge le fichier txt lu dans le tableau
- 14. python sauvegarde unicode dans le fichier
- 15. Recherche d'un fichier Unicode en utilisant Python
- 16. Impossible de mettre un fichier .txt à la fin d'un autre fichier .txt
- 17. Convertir le codage de fichier cs
- 18. Vim: comment convertir le nom de fichier en chemin?
- 19. Comment convertir un fichier System.Web.HttpPostedFileBase en System.Web.HttpPostedFile?
- 20. Rechercher un mot à l'intérieur du fichier .txt en utilisant le fichier batch
- 21. Je souhaite sécuriser mon fichier txt
- 22. Accès Requête au fichier txt sans les noms de colonne.
- 23. Bash One Liner: copier le template _ *. Txt vers foo _ *. Txt?
- 24. Enregistrement du chemin de fichier d'un fichier .txt
- 25. Comment faire pour convertir la version unicode de ReadDirectoryChangesW
- 26. En utilisant Emacs, comment mettre en retrait/formater un segment de code dans un fichier TXT?
- 27. Comment écrire plusieurs zones de texte dans un fichier txt généré en programme en C#?
- 28. Comment lire le chemin à partir d'un fichier txt et copier ce fichier dans un nouveau répertoire?
- 29. Comment imprimer un tableau dans un fichier .txt dans Matlab?
- 30. Comment convertir un format de fichier d'Unicode en ASCII en utilisant Python?
Quand vous dites 'Unicode', voulez-vous dire UTF8, UTF16, UTF32, ou une autre représentation? Et comment allez-vous repérer le jeu de code source lorsqu'il n'est pas Unicode? Quelle plate-forme êtes-vous? –
La plupart des gens pensent que UTF-32 = Unicode. Je blâme MS et leurs options "Save As" pour que cette idée soit si répandue parmi les masses. Triste de voir un développeur (qui devrait savoir mieux) le partager. –
MS utilise principalement UCS-2, pas UTF-32. – flodin