Может кто-нибудь объяснить ja_JP.UTF8? - PullRequest
3 голосов
/ 12 января 2010

Я знаю utf8, но в чем разница между * .utf8?

От ответ на мой пост

Ответы [ 5 ]

4 голосов
/ 12 января 2010
Locale = ja_JP 
Encoding = UTF-8
2 голосов
/ 12 января 2010

До Unicode обработка неанглоязычных символов выполнялась с использованием таких трюков, как кодовые страницы (например, this ) и специальных наборов символов (например: Shift_JIS ). UTF-8 содержит гораздо больший диапазон символов с совершенно другой системой отображения (т. Е. Способ адресации каждого символа числом).

При установке ja_JP.UTF8 в качестве локали, часть "UTF8" обозначает кодировку для необходимых специальных символов. Например, когда вы выводите сумму валюты в японском языке, вам понадобится символ ¥. Информация о кодировке определяет, какой набор символов использовать для отображения ¥.

Я предполагаю, что может существовать ja_JP.Shift_JIS локаль. Одно из отличий от UTF8, среди прочего, заключается в том, что знак ¥ отображается так, как это работает в этой конкретной кодировке.

Почему ja_JP?

Два кода ja_JP означают язык (я думаю, на основе этой нормы ISO ) и страна (на основе этот ). Это важно, если на каком-либо языке говорят более чем в одной стране. Например, в немецкоязычной области швейцарский формат отличается от немецкого: 1'000'000 против 1.000.000. Код страны служит для определения этих различий на одном языке.

1 голос
/ 12 января 2010

В каком контексте? ja_JP говорит нам, что строка на японском языке. Это не имеет ничего общего с кодировкой символов, но, вероятно, используется - в зависимости от контекста - для сортировки, ввода с клавиатуры и языка отображаемого текста в программе.

0 голосов
/ 25 марта 2011

Это локаль имя. Основной формат - язык _ СТРАНА. ja = японский язык, JP = Япония.

В дополнение к формату даты, символу валюты и т. Д. Каждая локаль связана с кодировкой символов. Это историческое наследие тех времен, когда каждый язык имел свою кодировку. Теперь UTF-8 предоставляет общую кодировку для каждой локали.

Причина, по которой .UTF8 является частью локали name , заключается в том, чтобы отличать ее от более старых локалей с другой кодировкой. Например, в моей системе доступен язык ja_JP.EUC-JP. А для Германии есть выбор de_DE (устаревший языковой стандарт до евро с кодировкой ISO-8859-1), de_DE@euro (кодировка ISO-8859-15 для предоставления знака €) и de_DE.UTF-8.

0 голосов
/ 12 января 2010

Я бы сказал, что каждый файл utf8 с этим соглашением об именах содержит определение языка для перевода вашего сайта.

...