Недопустимые символы при попытке открыть текстовый файл, созданный в блокноте с помощью Gedit

Смежный вопрос - за исключением того, что я перехожу из Windows в Ubuntu (мне не нужен блокнот для Windows)

Я пытаюсь открыть текстовый файл, используя gedit / Ubuntu 16.04, который был создан в Windows, используя очевидно пресловутый блокнот. Сообщение об ошибке недопустимых символов появляется вместе с искаженными символами. Как мне увидеть и отредактировать это в Ubuntu?

2
задан 28 October 2019 в 17:59

2 ответа

Вероятно, неожиданное кодирование:

>cat ISO-8859-15.txt
d�j� emp�ch�

file команда может сказать Вам используемое кодирование:

>file ISO-8859-15.txt 
ISO-8859-15.txt: ISO-8859 text

С этой информацией можно использовать iconv преобразовать в другое кодирование (обычно UTF-8):

iconv -f ISO-8859-15 -t UTF-8 -o UTF-8.txt ISO-8859-15.txt

Проверка:

>file UTF-8.txt 
UTF-8.txt: UTF-8 Unicode text
>cat UTF-8.txt 
déjà empêché
4
ответ дан 2 December 2019 в 01:52

Вероятно, это имеет отношение к другой кодировке символов (см. https://en.wikipedia.org/wiki/Character_encoding), быть используемым, когда файл был создан, и gedit редактор не может предположить это.

Один способ решить его мог состоять в том, чтобы попытаться открыть файл с помощью некоторой другой программы, как emacs или libreoffice - оттуда можно затем, надо надеяться, сохранить файл с помощью кодировки символов, которую также может обработать gedit.

Можно попытаться использовать file команда на различных текстовых файлах, чтобы попытаться обнаружить то, что использует кодировка символов каждый файл. Пример:

$ echo ABC123 > test1.txt
$ echo ABCÅÄÖ > test2.txt
$ file test1.txt 
test1.txt: ASCII text
$ file test2.txt 
test2.txt: UTF-8 Unicode text
1
ответ дан 2 December 2019 в 01:52

Другие вопросы по тегам:

Похожие вопросы: