22.3. Поддержка набора символов#
22.3. Поддержка набора символов #
Поддержка набора символов в Tantor SE-1C позволяет вам хранить текст в различных наборах символов (также называемых кодировками), включая однобайтовые наборы символов, такие как серия ISO 8859, и многобайтовые наборы символов, такие как EUC (Extended Unix Code), UTF-8 и внутренний код Mule. Все поддерживаемые наборы символов могут использоваться прозрачно клиентами, но некоторые не поддерживаются для использования внутри сервера (то есть в качестве кодировки на стороне сервера). При инициализации кластера баз данных Tantor SE-1C с помощью команды initdb
выбирается кодировка по умолчанию. Она может быть изменена при создании базы данных, так что у вас может быть несколько баз данных с разными наборами символов.
Важным ограничением является совместимость набора символов каждой базы данных с настройками локали LC_CTYPE
(классификация символов) и LC_COLLATE
(порядок сортировки строк) базы данных. Для локали C
или POSIX
допускается использование любого набора символов, но для других локалей, предоставляемых libc, существует только один набор символов, который будет работать правильно.
(Однако в Windows можно использовать кодировку UTF-8 с любой локалью).
Если настроена поддержка ICU, можно использовать локали, предоставляемые ICU, с большинством, но не со всеми кодировками на стороне сервера.
22.3.1. Поддерживаемые наборы символов #
Таблица 22.3 показывает наборы символов, доступные для использования в Tantor SE-1C.
Таблица 22.3. Tantor SE-1C Наборы символов
Имя | Описание | Язык | Сервер? | ICU? | Байты/Символ | Псевдонимы |
---|---|---|---|---|---|---|
BIG5 | Big Five | Традиционный китайский | Нет | Нет | 1–2 | WIN950 , Windows950 |
EUC_CN | Расширенный UNIX-код-КН | Упрощенный китайский | Да | Да | 1–3 | |
EUC_JP | Расширенный UNIX-код-JP | Японский | Да | Да | 1–3 | |
EUC_JIS_2004 | Расширенный UNIX-код-JP, JIS X 0213 | Японский | Да | Нет | 1–3 | |
EUC_KR | Расширенный UNIX-код-КР | Корейский | Да | Да | 1–3 | |
EUC_TW | Расширенный UNIX Код-TW | Традиционный китайский, Тайваньский | Да | Да | 1–4 | |
GB18030 | Национальный стандарт | Китайский | Нет | Нет | 1–4 | |
GBK | Расширенный национальный стандарт | Упрощенный китайский | Нет | Нет | 1–2 | WIN936 , Windows936 |
ISO_8859_5 | ISO 8859-5, ECMA 113 | Латиница/Кириллица | Да | Да | 1 | |
ISO_8859_6 | ISO 8859-6, ECMA 114 | Латиница/арабица | Да | Да | 1 | |
ISO_8859_7 | ISO 8859-7, ECMA 118 | Латиница/Греческий | Да | Да | 1 | |
ISO_8859_8 | ISO 8859-8, ECMA 121 | Латиница/Иврит | Да | Да | 1 | |
JOHAB | JOHAB | Корейский (Хангыль) | Нет | Нет | 1–3 | |
KOI8R | KOI8-R | Кириллица (Русский) | Да | Да | 1 | KOI8 |
KOI8U | KOI8-U | Кириллица (украинский) | Да | Да | 1 | |
LATIN1 | ISO 8859-1, ECMA 94 | Западноевропейский | Да | Да | 1 | ISO88591 |
LATIN2 | ISO 8859-2, ECMA 94 | Центральноевропейский | Да | Да | 1 | ISO88592 |
LATIN3 | ISO 8859-3, ECMA 94 | Южноевропейский | Да | Да | 1 | ISO88593 |
LATIN4 | ISO 8859-4, ECMA 94 | Североевропейский | Да | Да | 1 | ISO88594 |
LATIN5 | ISO 8859-9, ECMA 128 | Турецкий | Да | Да | 1 | ISO88599 |
LATIN6 | ISO 8859-10, ECMA 144 | Нордический | Да | Да | 1 | ISO885910 |
LATIN7 | ISO 8859-13 | Baltic | Да | Да | 1 | ISO885913 |
LATIN8 | ISO 8859-14 | Celtic | Да | Да | 1 | ISO885914 |
LATIN9 | ISO 8859-15 | LATIN1 с Евро и акцентами | Да | Да | 1 | ISO885915 |
LATIN10 | ISO 8859-16, ASRO SR 14111 | Romanian | Да | Нет | 1 | ISO885916 |
MULE_INTERNAL | Внутренний код Mule | Многоязычный Emacs | Да | Нет | 1–4 | |
SJIS | Shift JIS | Японский | Нет | Нет | 1–2 | Mskanji , ShiftJIS , WIN932 , Windows932 |
SHIFT_JIS_2004 | Shift JIS, JIS X 0213 | Японский | Нет | Нет | 1–2 | |
SQL_ASCII | не указано (см. текст) | любой | Да | Нет | 1 | |
UHC | Unified Hangul Code | Корейский | Нет | Нет | 1–2 | WIN949 , Windows949 |
UTF8 | Unicode, 8-битный | все | Да | Да | 1–4 | Unicode |
WIN866 | Windows CP866 | Кириллица | Да | Да | 1 | ALT |
WIN874 | Windows CP874 | Тайский | Да | Нет | 1 | |
WIN1250 | Windows CP1250 | Центральноевропейская | Да | Да | 1 | |
WIN1251 | Windows CP1251 | Кириллица | Да | Да | 1 | WIN |
WIN1252 | Windows CP1252 | Западноевропейская | Да | Да | 1 | |
WIN1253 | Windows CP1253 | Греческий | Да | Да | 1 | |
WIN1254 | Windows CP1254 | Турецкий | Да | Да | 1 | |
WIN1255 | Windows CP1255 | Иврит | Да | Да | 1 | |
WIN1256 | Windows CP1256 | Арабский | Да | Да | 1 | |
WIN1257 | Windows CP1257 | Балтийский | Да | Да | 1 | |
WIN1258 | Windows CP1258 | Вьетнамский | Да | Да | 1 | ABC , TCVN , TCVN5712 , VSCII |
Не все клиентские API поддерживают все перечисленные наборы символов. Например, драйвер JDBC для Tantor SE-1C не поддерживает наборы символов MULE_INTERNAL
, LATIN6
, LATIN8
и LATIN10
.
Настройка SQL_ASCII
ведет себя значительно иначе
по сравнению с другими настройками. Когда набор символов сервера
установлен в SQL_ASCII
, сервер интерпретирует значения байтов от 0 до 127
в соответствии со стандартом ASCII, в то время как значения байтов от 128 до 255
считаются неинтерпретируемыми символами. При установке SQL_ASCII
не будет выполняться
преобразование кодировки. Таким образом, эта настройка не является объявлением
использования определенной кодировки, а объявлением
незнания о кодировке. В большинстве случаев, если вы
работаете с данными, содержащими символы, не входящие в набор ASCII,
не рекомендуется использовать настройку SQL_ASCII
,
поскольку PostgreSQL не сможет помочь вам
преобразовывать или проверять символы, не входящие в набор ASCII.
22.3.2. Установка набора символов #
initdb
определяет кодировку по умолчанию для кластера Tantor SE-1C. Например,
initdb -E EUC_JP
Установите кодировку по умолчанию на EUC_JP
(расширенный код Unix для японского языка). Вы можете использовать --encoding
вместо -E
, если предпочитаете более длинные строки опций. Если не указаны опции -E
или --encoding
, initdb
попытается определить подходящую кодировку на основе указанной или установленной локали по умолчанию.
Вы можете указать нестандартную кодировку при создании базы данных, при условии, что кодировка совместима с выбранной локалью:
createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean
Это создаст базу данных с именем korean
, которая
использует набор символов EUC_KR
и локаль ko_KR
.
Другой способ достичь этого - использовать следующую SQL-команду:
CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;
Обратите внимание, что вышеуказанные команды указывают на копирование базы данных template0
.
При копировании любой другой базы данных кодировка и настройки локали не могут быть изменены относительно исходной базы данных, так как это может привести к повреждению данных. Дополнительную информацию см. в разделе Раздел 21.3.
Кодировка для базы данных хранится в системном каталоге pg_database
. Вы можете увидеть ее, используя опцию -l
команды psql
или команду \l
.
$ psql -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access Privileges
-----------+----------+-----------+-------------+-------------+-------------------------------------
clocaledb | hlinnaka | SQL_ASCII | C | C |
englishdb | hlinnaka | UTF8 | en_GB.UTF8 | en_GB.UTF8 |
japanese | hlinnaka | UTF8 | ja_JP.UTF8 | ja_JP.UTF8 |
korean | hlinnaka | EUC_KR | ko_KR.euckr | ko_KR.euckr |
postgres | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 |
template0 | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
template1 | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
(7 rows)
Важно
На большинстве современных операционных систем Tantor SE-1C
может определить, какой набор символов подразумевается настройкой LC_CTYPE
,
и он будет обеспечивать использование только соответствующей кодировки базы данных.
На старых системах необходимо самостоятельно убедиться, что вы используете
кодировку, ожидаемую выбранной локалью. Ошибка в этой области может привести к
странным поведением операций, зависящих от локали, таких как сортировка.
Tantor SE-1C позволит суперпользователям создавать базы данных с кодировкой SQL_ASCII
, даже если LC_CTYPE
не равно C
или POSIX
. Как указано выше, SQL_ASCII
не обеспечивает принудительное применение какой-либо конкретной кодировки данных, поэтому такой выбор представляет риски зависимости от локали. Использование этой комбинации настроек является устаревшим и может быть в будущем полностью запрещено.
22.3.3. Автоматическое преобразование набора символов между сервером и клиентом #
Tantor SE-1C поддерживает автоматическое преобразование наборов символов между сервером и клиентом для множества комбинаций наборов символов (Раздел 22.3.4 показывает, какие именно).
Чтобы включить автоматическое преобразование набора символов, необходимо сообщить Tantor SE-1C набор символов (кодировку), которую нужно использовать в клиенте. Существует несколько способов достичь этого:
Используя команду
\encoding
в psql. Команда\encoding
позволяет изменить кодировку клиента "на лету". Например, чтобы изменить кодировку наSJIS
, введите:\encoding SJIS
libpq (Раздел 31.11) имеет функции для управления кодировкой клиента.
Использование
SET client_encoding TO
. Установка кодировки клиента может быть выполнена с помощью следующей SQL-команды:SET CLIENT_ENCODING TO '
value
';Также вы можете использовать стандартный синтаксис SQL
SET NAMES
для этой цели:SET NAMES '
value
';Для запроса текущей кодировки клиента:
SHOW client_encoding;
Для возврата к кодировке по умолчанию:
RESET client_encoding;
Использование
PGCLIENTENCODING
. Если переменная окруженияPGCLIENTENCODING
определена в окружении клиента, то эта кодировка клиента автоматически выбирается при установлении соединения с сервером. (Это может быть затем переопределено с использованием любого из других методов, упомянутых выше).Используя переменную конфигурации client_encoding. Если переменная
client_encoding
установлена, то эта кодировка клиента автоматически выбирается при установлении соединения с сервером. (Это может быть затем переопределено с использованием любого из других вышеупомянутых методов).
Если преобразование определенного символа невозможно
— предположим, вы выбрали EUC_JP
для
сервера и LATIN1
для клиента, и возвращаются некоторые
японские символы, которые не имеют представления в
LATIN1
— будет сообщена ошибка.
Если набор символов клиента определен как SQL_ASCII
,
конвертация кодировки отключена, независимо от набора символов сервера.
(Однако, если набор символов сервера не SQL_ASCII
,
сервер все равно будет проверять, что входящие данные действительны для этой кодировки;
поэтому чистый эффект такой же, как если бы набор символов клиента был таким же, как у сервера).
Как и для сервера, использование SQL_ASCII
не рекомендуется,
если вы работаете с данными, содержащими только символы ASCII.
22.3.4. Доступные преобразования наборов символов #
Tantor SE-1C позволяет конвертировать между любыми двумя наборами символов, для которых в системном каталоге pg_conversion
указана функция конвертации. Tantor SE-1C поставляется с некоторыми предопределенными конверсиями, которые кратко описаны в Таблица 22.4 и подробно показаны в Таблица 22.5. Вы можете создать новую конверсию с помощью SQL-команды CREATE CONVERSION. (Чтобы использовать конверсию для автоматической конвертации между клиентом и сервером, она должна быть помечена как “default” для пары наборов символов).
Таблица 22.4. Встроенные преобразования наборов символов клиента/сервера
Серверный набор символов | Доступные наборы символов клиента |
---|---|
BIG5 | не поддерживается в качестве кодировки сервера |
EUC_CN | EUC_CN,
MULE_INTERNAL ,
UTF8
|
EUC_JP | EUC_JP,
MULE_INTERNAL ,
SJIS ,
UTF8
|
EUC_JIS_2004 | EUC_JIS_2004,
SHIFT_JIS_2004 ,
UTF8
|
EUC_KR | EUC_KR,
MULE_INTERNAL ,
UTF8
|
EUC_TW | EUC_TW,
BIG5 ,
MULE_INTERNAL ,
UTF8
|
GB18030 | не поддерживается в качестве кодировки сервера |
GBK | не поддерживается в качестве кодировки сервера |
ISO_8859_5 | ISO_8859_5,
KOI8R ,
MULE_INTERNAL ,
UTF8 ,
WIN866 ,
WIN1251
|
ISO_8859_6 | ISO_8859_6,
UTF8
|
ISO_8859_7 | ISO_8859_7,
UTF8
|
ISO_8859_8 | ISO_8859_8,
UTF8
|
JOHAB | не поддерживается в качестве кодировки сервера |
KOI8R | KOI8R,
ISO_8859_5 ,
MULE_INTERNAL ,
UTF8 ,
WIN866 ,
WIN1251
|
KOI8U | KOI8U,
UTF8
|
LATIN1 | LATIN1,
MULE_INTERNAL ,
UTF8
|
LATIN2 | LATIN2,
MULE_INTERNAL ,
UTF8 ,
WIN1250
|
LATIN3 | LATIN3,
MULE_INTERNAL ,
UTF8
|
LATIN4 | LATIN4,
MULE_INTERNAL ,
UTF8
|
LATIN5 | LATIN5,
UTF8
|
LATIN6 | LATIN6,
UTF8
|
LATIN7 | LATIN7,
UTF8
|
LATIN8 | LATIN8,
UTF8
|
LATIN9 | LATIN9,
UTF8
|
LATIN10 | LATIN10,
UTF8
|
MULE_INTERNAL | MULE_INTERNAL,
BIG5 ,
EUC_CN ,
EUC_JP ,
EUC_KR ,
EUC_TW ,
ISO_8859_5 ,
KOI8R ,
LATIN1 to LATIN4 ,
SJIS ,
WIN866 ,
WIN1250 ,
WIN1251
|
SJIS | не поддерживается в качестве кодировки сервера |
SHIFT_JIS_2004 | не поддерживается в качестве кодировки сервера |
SQL_ASCII | любой (конвертация не будет выполнена) |
UHC | не поддерживается в качестве кодировки сервера |
UTF8 | все поддерживаемые кодировки |
WIN866 | WIN866,
ISO_8859_5 ,
KOI8R ,
MULE_INTERNAL ,
UTF8 ,
WIN1251
|
WIN874 | WIN874,
UTF8
|
WIN1250 | WIN1250,
LATIN2 ,
MULE_INTERNAL ,
UTF8
|
WIN1251 | WIN1251,
ISO_8859_5 ,
KOI8R ,
MULE_INTERNAL ,
UTF8 ,
WIN866
|
WIN1252 | WIN1252,
UTF8
|
WIN1253 | WIN1253,
UTF8
|
WIN1254 | WIN1254,
UTF8
|
WIN1255 | WIN1255,
UTF8
|
WIN1256 | WIN1256,
UTF8
|
WIN1257 | WIN1257,
UTF8
|
WIN1258 | WIN1258,
UTF8
|
Таблица 22.5. Все встроенные преобразования наборов символов
Conversion Name [a] | Source Encoding | Destination Encoding |
---|---|---|
big5_to_euc_tw | BIG5 | EUC_TW |
big5_to_mic | BIG5 | MULE_INTERNAL |
big5_to_utf8 | BIG5 | UTF8 |
euc_cn_to_mic | EUC_CN | MULE_INTERNAL |
euc_cn_to_utf8 | EUC_CN | UTF8 |
euc_jp_to_mic | EUC_JP | MULE_INTERNAL |
euc_jp_to_sjis | EUC_JP | SJIS |
euc_jp_to_utf8 | EUC_JP | UTF8 |
euc_kr_to_mic | EUC_KR | MULE_INTERNAL |
euc_kr_to_utf8 | EUC_KR | UTF8 |
euc_tw_to_big5 | EUC_TW | BIG5 |
euc_tw_to_mic | EUC_TW | MULE_INTERNAL |
euc_tw_to_utf8 | EUC_TW | UTF8 |
gb18030_to_utf8 | GB18030 | UTF8 |
gbk_to_utf8 | GBK | UTF8 |
iso_8859_10_to_utf8 | LATIN6 | UTF8 |
iso_8859_13_to_utf8 | LATIN7 | UTF8 |
iso_8859_14_to_utf8 | LATIN8 | UTF8 |
iso_8859_15_to_utf8 | LATIN9 | UTF8 |
iso_8859_16_to_utf8 | LATIN10 | UTF8 |
iso_8859_1_to_mic | LATIN1 | MULE_INTERNAL |
iso_8859_1_to_utf8 | LATIN1 | UTF8 |
iso_8859_2_to_mic | LATIN2 | MULE_INTERNAL |
iso_8859_2_to_utf8 | LATIN2 | UTF8 |
iso_8859_2_to_windows_1250 | LATIN2 | WIN1250 |
iso_8859_3_to_mic | LATIN3 | MULE_INTERNAL |
iso_8859_3_to_utf8 | LATIN3 | UTF8 |
iso_8859_4_to_mic | LATIN4 | MULE_INTERNAL |
iso_8859_4_to_utf8 | LATIN4 | UTF8 |
iso_8859_5_to_koi8_r | ISO_8859_5 | KOI8R |
iso_8859_5_to_mic | ISO_8859_5 | MULE_INTERNAL |
iso_8859_5_to_utf8 | ISO_8859_5 | UTF8 |
iso_8859_5_to_windows_1251 | ISO_8859_5 | WIN1251 |
iso_8859_5_to_windows_866 | ISO_8859_5 | WIN866 |
iso_8859_6_to_utf8 | ISO_8859_6 | UTF8 |
iso_8859_7_to_utf8 | ISO_8859_7 | UTF8 |
iso_8859_8_to_utf8 | ISO_8859_8 | UTF8 |
iso_8859_9_to_utf8 | LATIN5 | UTF8 |
johab_to_utf8 | JOHAB | UTF8 |
koi8_r_to_iso_8859_5 | KOI8R | ISO_8859_5 |
koi8_r_to_mic | KOI8R | MULE_INTERNAL |
koi8_r_to_utf8 | KOI8R | UTF8 |
koi8_r_to_windows_1251 | KOI8R | WIN1251 |
koi8_r_to_windows_866 | KOI8R | WIN866 |
koi8_u_to_utf8 | KOI8U | UTF8 |
mic_to_big5 | MULE_INTERNAL | BIG5 |
mic_to_euc_cn | MULE_INTERNAL | EUC_CN |
mic_to_euc_jp | MULE_INTERNAL | EUC_JP |
mic_to_euc_kr | MULE_INTERNAL | EUC_KR |
mic_to_euc_tw | MULE_INTERNAL | EUC_TW |
mic_to_iso_8859_1 | MULE_INTERNAL | LATIN1 |
mic_to_iso_8859_2 | MULE_INTERNAL | LATIN2 |
mic_to_iso_8859_3 | MULE_INTERNAL | LATIN3 |
mic_to_iso_8859_4 | MULE_INTERNAL | LATIN4 |
mic_to_iso_8859_5 | MULE_INTERNAL | ISO_8859_5 |
mic_to_koi8_r | MULE_INTERNAL | KOI8R |
mic_to_sjis | MULE_INTERNAL | SJIS |
mic_to_windows_1250 | MULE_INTERNAL | WIN1250 |
mic_to_windows_1251 | MULE_INTERNAL | WIN1251 |
mic_to_windows_866 | MULE_INTERNAL | WIN866 |
sjis_to_euc_jp | SJIS | EUC_JP |
sjis_to_mic | SJIS | MULE_INTERNAL |
sjis_to_utf8 | SJIS | UTF8 |
windows_1258_to_utf8 | WIN1258 | UTF8 |
uhc_to_utf8 | UHC | UTF8 |
utf8_to_big5 | UTF8 | BIG5 |
utf8_to_euc_cn | UTF8 | EUC_CN |
utf8_to_euc_jp | UTF8 | EUC_JP |
utf8_to_euc_kr | UTF8 | EUC_KR |
utf8_to_euc_tw | UTF8 | EUC_TW |
utf8_to_gb18030 | UTF8 | GB18030 |
utf8_to_gbk | UTF8 | GBK |
utf8_to_iso_8859_1 | UTF8 | LATIN1 |
utf8_to_iso_8859_10 | UTF8 | LATIN6 |
utf8_to_iso_8859_13 | UTF8 | LATIN7 |
utf8_to_iso_8859_14 | UTF8 | LATIN8 |
utf8_to_iso_8859_15 | UTF8 | LATIN9 |
utf8_to_iso_8859_16 | UTF8 | LATIN10 |
utf8_to_iso_8859_2 | UTF8 | LATIN2 |
utf8_to_iso_8859_3 | UTF8 | LATIN3 |
utf8_to_iso_8859_4 | UTF8 | LATIN4 |
utf8_to_iso_8859_5 | UTF8 | ISO_8859_5 |
utf8_to_iso_8859_6 | UTF8 | ISO_8859_6 |
utf8_to_iso_8859_7 | UTF8 | ISO_8859_7 |
utf8_to_iso_8859_8 | UTF8 | ISO_8859_8 |
utf8_to_iso_8859_9 | UTF8 | LATIN5 |
utf8_to_johab | UTF8 | JOHAB |
utf8_to_koi8_r | UTF8 | KOI8R |
utf8_to_koi8_u | UTF8 | KOI8U |
utf8_to_sjis | UTF8 | SJIS |
utf8_to_windows_1258 | UTF8 | WIN1258 |
utf8_to_uhc | UTF8 | UHC |
utf8_to_windows_1250 | UTF8 | WIN1250 |
utf8_to_windows_1251 | UTF8 | WIN1251 |
utf8_to_windows_1252 | UTF8 | WIN1252 |
utf8_to_windows_1253 | UTF8 | WIN1253 |
utf8_to_windows_1254 | UTF8 | WIN1254 |
utf8_to_windows_1255 | UTF8 | WIN1255 |
utf8_to_windows_1256 | UTF8 | WIN1256 |
utf8_to_windows_1257 | UTF8 | WIN1257 |
utf8_to_windows_866 | UTF8 | WIN866 |
utf8_to_windows_874 | UTF8 | WIN874 |
windows_1250_to_iso_8859_2 | WIN1250 | LATIN2 |
windows_1250_to_mic | WIN1250 | MULE_INTERNAL |
windows_1250_to_utf8 | WIN1250 | UTF8 |
windows_1251_to_iso_8859_5 | WIN1251 | ISO_8859_5 |
windows_1251_to_koi8_r | WIN1251 | KOI8R |
windows_1251_to_mic | WIN1251 | MULE_INTERNAL |
windows_1251_to_utf8 | WIN1251 | UTF8 |
windows_1251_to_windows_866 | WIN1251 | WIN866 |
windows_1252_to_utf8 | WIN1252 | UTF8 |
windows_1256_to_utf8 | WIN1256 | UTF8 |
windows_866_to_iso_8859_5 | WIN866 | ISO_8859_5 |
windows_866_to_koi8_r | WIN866 | KOI8R |
windows_866_to_mic | WIN866 | MULE_INTERNAL |
windows_866_to_utf8 | WIN866 | UTF8 |
windows_866_to_windows_1251 | WIN866 | WIN |
windows_874_to_utf8 | WIN874 | UTF8 |
euc_jis_2004_to_utf8 | EUC_JIS_2004 | UTF8 |
utf8_to_euc_jis_2004 | UTF8 | EUC_JIS_2004 |
shift_jis_2004_to_utf8 | SHIFT_JIS_2004 | UTF8 |
utf8_to_shift_jis_2004 | UTF8 | SHIFT_JIS_2004 |
euc_jis_2004_to_shift_jis_2004 | EUC_JIS_2004 | SHIFT_JIS_2004 |
shift_jis_2004_to_euc_jis_2004 | SHIFT_JIS_2004 | EUC_JIS_2004 |
[a]
Все имена преобразований следуют стандартной схеме именования: официальное имя исходной кодировки, в котором все неалфавитно-цифровые символы заменены на подчеркивания, за которым следует |
22.3.5. Дополнительная информация #
Это хорошие источники для начала изучения различных видов кодировок.
- Обработка информации CJKV: китайский, японский, корейский и вьетнамский компьютерный
Содержит подробные объяснения для
EUC_JP
,EUC_CN
,EUC_KR
,EUC_TW
.- https://www.unicode.org/
Веб-сайт Unicode Consortium.
- RFC 3629
UTF-8 (8-битный формат UCS/Unicode Transformation Format) определен здесь.