iconv unicode inconnu format d'entrée
J'ai un fichier qui est décrite sous Unix:
$file xxx.csv
xxx.csv: UTF-8 Unicode text, with very long lines
En le regardant dans less
/vi
rendra certains caractères spéciaux (ßÄ°...) illisible (├ĵ); Windows ne sera également pas l'afficher; importer directement dans la db va simplement changer les caractères spéciaux à certains autres caractères spéciaux (+ä +-, ...).
Je voulais convertir maintenant d'un "défaut lisible" encodage avec iconv.
Lorsque j'essaie de le convertir avec iconv
$iconv -f UTF-8 -t ISO-8859-1 xxx.csv > yyy.csv
iconv: illegal input sequence at position 1234
utilisant UNICODE comme entrée et de l'UTF-8 comme sortie sera de retour le même message
Je suppose que le fichier est un peu codé dans un autre format, je ne sais pas - comment puis-je savoir quel format en vue de le convertir en quelque chose de "universellement" lisible ...
J'ai essayé avec notepad++ mais il est 680MO et notepad++ me dit qu'il est trop grand ..
Le fichier n'est évidemment pas en UTF-8, même si
file
l'aurez deviné. Pouvez-vous nous montrer les huit octets commençant à l'offset 1234, dans leur hexdump forme?Comment dois-je procéder? Btw, je l'ai ouvert sur mon mac avec bbedit qui ouvre correcly rendu au format unicode utf-8 ...
OriginalL'auteur RRZ Europe | 2011-10-07
Vous devez vous connecter pour publier un commentaire.
De la conversion de l'UTF-8, ISO-8859-1 ne fonctionne que si votre texte UTF-8 seulement a des caractères qui peuvent être représentés dans la norme ISO-8859-1. Si ce n'est pas le cas, vous devez spécifier ce qui doit arriver à ces personnages, tout en ignorant (//IGNORER) ou l'approximation (//TRANSLIT). Essayez l'une de ces deux:
Dans la plupart des cas, je suppose que l'approximation est la meilleure solution, la cartographie par exemple, les caractères accentués à leurs homologues non accentuées, le signe de l'euro EUR, etc...
OriginalL'auteur niefpaarschoenen
Le problème est que Windows n'a pas pu interpréter le fichier en UTF-8 sur elle-même. il se lit comme asques et puis ä devient un 2 interprétation d'un caractère ä (ascii 195 164)
essayer de le convertir, j'ai trouvé une solution qui fonctionne pour moi:
maintenant je peux afficher les caractères spéciaux correctement dans les éditeurs
Pour SQLServer comptabilité, de la conversion UTF-8, UTF-16 fonctionnera encore mieux ... juste la taille du fichier augmente un peu
OriginalL'auteur RRZ Europe
Si vous n'êtes pas sûr du type de fichier vous affaire avec, alors vous pouvez trouver comme suit,
La commande ci-dessus va vous donner le format de fichier. Puis iconv peut être utilisé en conséquence.
Par exemple, si le format de fichier est UTF-16 et vous voulez la convertir en UTF-8 puis suivant peut être utilisé.
Espère ajouter aperçu de ce que vous cherchez.
OriginalL'auteur Mari