У меня есть веб-страница, ее кодировка 8859-9, и она была подготовлена в окнах с кодировкой символов ascii. из доступа по ftp я открываю его через gedit в ubuntu, после чего изменяются турецкие символы, например (turkish ı стал ý). что я могу сделать, чтобы избежать таких глупостей?
2 ответа
Вы можете конвертировать с iconv
:
$ iconv -f iso-8859-1 -t utf-8 somefile.latin1 > somefile.utf8
$
Альтернативой iconv
является recode
. Если вы еще не знаете, вы можете узнать кодировку с помощью команды file
:
$ file somefile.latin1
somefile.latin1: ISO-8859 text
$
Вы пытались установить в качестве локали tr_TR.ISO-8859-9
Чтобы узнать текущую локаль, используйте команду locale
без аргументов. Он напечатает значения всех соответствующих переменных среды, кроме LANGUAGE. locale charmap
печатает имя текущей кодировки. Чтобы узнать, какие локали доступны, введите locale -a
. Чтобы узнать, какие кодировки доступны, введите locale -m
.
Если вы используете диалог открытия файлов в gedit, вы можете выбрать подходящую кодировку для открываемого файла.
Если вышеупомянутое не помогает, пожалуйста, обновите ваш вопрос выводом имени file filename
и десятью соответствующими строками вывода hexdump -C filename
что я могу сделать, чтобы избежать таких глупостей?
Используйте utf-8 для всего и всегда везде. Преобразуйте все, что не является utf-8 в utf-8, используя iconv
или recode
. Убедитесь, что все используемые шрифты поддерживают используемые вами скрипты (т.е. имеют глифы для соответствующих диапазонов юникода).