Изменить кодировку символов в текстовом файле

Есть ли способ изменить кодировку символов текстового файла? Если так, то как?

Видите, я использую сочетание клавиш для вызова команды оболочки, которая сама использует xclip скопировать содержимое файла в буфер обмена. Затем я могу использовать CTRL + V, чтобы вставить содержимое. Я делаю это, чтобы добавить подпись в электронную почту всякий раз, когда мне нужно.

Это скрипт:

#!/bin/sh
# Need to install xclip
cat ~/personal/mail-signature.txt | xclip -i -selection clipboard

Кажется, все работает правильно, даже в окне составления электронной почты. Однако при отправке сообщения возврат каретки (символы новой строки) кажется удвоенным по сравнению с файлом. То есть независимо от того, что я использую в gedit чтобы добавить новую строку (ENTER, SHIFT + ENTER или CTRL + ENTER), все это поворачивается так:

+-------------------------++------------------------+
My name and address.                      Affiliation
fax:   +1 (5555) 555-5555      Address in this planet
my_email@someaddress.ca    http://www.someaddress.ca/
+-------------------------++------------------------+

в это

+-------------------------++------------------------+

My name and address.                      Affiliation

fax:   +1 (5555) 555-5555      Address in this planet

my_email@someaddress.ca    http://www.someaddress.ca/

+-------------------------++------------------------+

как только сообщение отправлено.

Это, кажется, не происходит, когда я открываю файл подписи в gedit и используйте CTRL + C и CTRL + V в окне моего почтового клиента.

Я предполагаю, что это должно быть так xclip чтение / интерпретация символа конца строки / новой строки, но по какой-то причине окно редактирования клиента не показывает разницу, в то время как сервер (в данном случае smtp-сервер Gmail) действительно видит разницу между символами конца строки.

Я использую Ubuntu 16.04 и Thunderbird 45.3.0 в качестве почтового клиента.

Обновление: только что попробовал xclip с опцией -noutf8 но тоже не сработало.

1 ответ

Хотя это и не ответ, а скорее обходной путь, michael_n предоставил способ обойти это: поместить файл подписи через dos2unix фильтр. Это устранило проблему, но я задал более важный вопрос: почему кодировка символов по умолчанию в gedit DOS кодировка? По причинам совместимости может быть.

В любом случае, спасибо michael_n.

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