Проблема со значком - PullRequest
       13

Проблема со значком

0 голосов
/ 26 марта 2010

Если вы работаете в Mac OS X 10.6 и знакомы с кодировкой символов и терминалом, сделайте следующее:

Откройте терминал и введите следующие команды:

echo sørensen> test.txt iconv -f UTF8 -t ISO-8859-1 test.txt

Вы увидите вывод: "sørensen". Может кто-нибудь объяснить, что происходит?

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

Я пробовал команду "iconv" из одного файла в другой, просматривая данные с помощью "od -txC" со следующими результатами:

Input:  c3  83  c2  b8         [ 2 utf8-chars Capital A tilde; Cedilla ]

Command: iconv -f utf-8 -t ISO-8859-1 < in.txt > out.txt

Output:  c3  b8    [ 2 ISO-8859-1 characters, Capital A tilde; Cedilla ]

Итак, преобразование iconv правильное.

Но, если вместо этого вы будете обрабатывать преобразованные данные как utf-8 (что, очевидно, и делает Терминал), C3-B8 будет "ø" (o-slash).

Если вы измените свою кодировку символов в Терминале (Настройки // Дополнительно // Кодировка символов) на «Western (ISO Latin 1)», вы увидите C3-B8 как «Ã¸»

0 голосов
/ 26 марта 2010

UTF-8 - это многобайтовая кодировка. Символ ø кодируется двумя байтами: C3-B8. При кодировании вашего терминала (ISO-8859-1) эти байты декодируются как ø. Затем вы конвертируете эти байты в код ISO-8859-1 ø. Есть вопросы?

...