До 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
. Код страны служит для определения этих различий на одном языке.