Ответ 1
Я забыл переключатель -o
!
Последняя команда:
iconv -f UTF-16LE -t UTF-8 <filename> -o <new-filename>
Привет! Я пытаюсь преобразовать некоторые файлы журнала с сервера Microsoft SQL, но файлы закодированы с использованием UTf-16LE, и iconv, похоже, не может их преобразовать.
Я делаю:
iconv -f UTF-16LE -t UTF-8 <filename>
Я также пытался удалить любые возвраты каретки с конца строки, если они есть, но это тоже не помогло. Если я сохраню его с помощью gedit, который работает, но это нереально, так как у меня есть сотни таких файлов
РЕДАКТИРОВАТЬ: Пожалуйста, смотрите новый ответ для отсутствующей опции
Я забыл переключатель -o
!
Последняя команда:
iconv -f UTF-16LE -t UTF-8 <filename> -o <new-filename>
Указанная вами команда выведет на стандартный вывод. Вы можете использовать параметр -o
или перенаправить вывод:
с -o
:
iconv -f UTF-16LE -t UTF-8 infile -o outfile
с pipeми:
iconv -f UTF-16LE -t UTF-8 infile > outfile
Оба приведут к желаемому результату.
Однако некоторые версии iconv (например, v1 в macOS) не поддерживают параметр -o
, и вы увидите, что преобразованный текст выводится на стандартный вывод. В этом случае используйте опцию pipeопровода.