iconv: преобразование из Windows ANSI в UTF-8 с помощью спецификации - PullRequest
29 голосов
/ 06 декабря 2010

Я хочу использовать iconv для конвертации файлов на моем Mac. Цель состоит в том, чтобы перейти от «Windows ANSI» к «всему, что сохраняет блокнот Windows, если вы скажете ему использовать UFT8».

Вот что я хочу:

anders-johansen-privats-macbook-pro:test andersprivat$ file names.csv 
names.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators

Вот что я использую:

iconv -f CP1252 -t UTF-8  names.csv > names.utf8.csv 

Это то, что я получаю (а не то, что я хочу):

file names.utf8.csv 
names.utf8.csv: UTF-8 Unicode text, with CRLF line terminators

Как мне получить спецификацию?

Ответы [ 3 ]

43 голосов
/ 06 декабря 2010

Вы можете добавить его вручную, сначала echo введя байты в файл:

echo -ne '\xEF\xBB\xBF' > names.utf8.csv

и затем конкатенируя необходимую информацию в конце:

iconv -f CP1252 -t UTF-8  names.csv >> names.utf8.csv

Обратите внимание>> вместо >.

1 голос
/ 06 декабря 2010

Обратите внимание, что "Windows ANSI" может не быть CP1252 - это настраивается пользователями.

0 голосов
/ 04 сентября 2014

Мне нужен был опоссит. (скрытый текст на немецком языке от UTF-8 до ANSI)

Итак, команда, которую я использовал:
1. iconv -l (проверить доступные форматы)
2. iconv -f UTF8 -t MS-ANSI de.txt> output.txt

и теперь, если я открою output.txt, он уже находится в ANSI. Работа выполнена.

...