Чтение онлайн

ЖАНРЫ

MySQL: руководство профессионала

Паутов Алексей В.

Шрифт:

greek_general_ci (значение по умолчанию)

Объединения hebrew (ISO 8859-8 Hebrew):

hebrew_bin

hebrew_general_ci (значение по умолчанию)

Объединения latin5 (ISO 8859-9 Turkish):

latin5_bin

latin5_turkish_ci (значение по умолчанию)

10.10.5. Балтийские наборы символов

Балтийские наборы символов охватывают Estonian, Latvian и Lithuanian.

Объединения cp1257 (Windows Baltic):

cp1257_bin

cp1257_general_ci (значение

по умолчанию)

cp1257_lithuanian_ci

Объединения latin7 (ISO 8859-13 Baltic):

latin7_bin

latin7_estonian_cs

latin7_general_ci (значение по умолчанию)

latin7_general_cs

10.10.6. Наборы символов кириллицы

Наборы символов и объединения кириллицы для использования с Belarusian, Bulgarian, Russian и Ukrainian.

Объединения cp1251 (Windows Cyrillic):

cp1251_bin

cp1251_bulgarian_ci

cp1251_general_ci (значение по умолчанию)

cp1251_general_cs

cp1251_ukrainian_ci

Объединения cp866 (DOS Russian):

cp866_bin

cp866_general_ci (значение по умолчанию)

Объединения koi8r (KOI8-R Relcom Russian):

koi8r_bin

koi8r_general_ci (значение по умолчанию)

Объединения koi8u (KOI8-U Ukrainian):

koi8u_bin

koi8u_general_ci (значение по умолчанию)

10.10.7. Азиатские наборы символов

Азиатские наборы символов, которые поддерживает пакет, включают Chinese, Japanese, Korean и Thai. Они могут быть усложнены. Например, китайские наборы должны учесть тысячи различных символов.

Объединения big5 (Big5 Traditional Chinese):

big5_bin

big5_chinese_ci (значение по умолчанию)

Объединения cp932 (SJIS for Windows Japanese):

cp932_bin

cp932_japanese_ci (значение по умолчанию)

Объединения eucjpms (UJIS for Windows Japanese):

eucjpms_bin

eucjpms_japanese_ci (значение по умолчанию)

Объединения euckr (EUC-KR Korean):

euckr_bin

euckr_korean_ci (значение по умолчанию)

Объединения gb2312 (GB2312 Simplified Chinese):

gb2312_bin

gb2312_chinese_ci (значение по умолчанию)

Объединения gbk (GBK Simplified Chinese):

gbk_bin

gbk_chinese_ci (значение по умолчанию)

Объединения sjis (Shift-JIS Japanese):

sjis_bin

sjis_japanese_ci (значение по умолчанию)

Объединения tis620 (TIS620 Thai):

tis620_bin

tis620_thai_ci (значение по умолчанию)

Объединения ujis (EUC-JP Japanese):

ujis_bin

ujis_japanese_ci (значение по умолчанию)

10.10.7.1. Набор символов cp932

А на кой вообще нужен cp932?

В MySQL

набор символов sjis соответствует Shift_JIS определенному IANA, который поддерживает символы JIS X0201 и JIS X0208 (см. http://www.iana.org/assignments/character-sets).

Однако, значение SHIFT JIS как описательный термин стало очень неопределенным, и это часто включает расширения Shift_JIS, которые определены различными поставщиками. Короче, больше стандартов, хороших и разных!

Например, SHIFT JIS, использованный в Japanese Windows, представляет расширение Shift_JIS от Microsoft, и его точное название Microsoft Windows Codepage: 932 или cp932. В дополнение к символам, обеспечиваемым Shift_JIS, cp932 поддерживает символы расширения типа специальных и изюранных символов NEC и расширенных символов IBM.

Много японских пользователей испытали проблемы при использовании этих символов расширения. Эта проблема складывается из следующих факторов:

MySQL автоматически преобразовывает наборы символов.

Наборы символов преобразованы через Unicode (ucs2).

Набор символов sjis не поддерживает преобразование этих символов расширения.

Имеются несколько правил преобразования из так называемого SHIFT JIS в Unicode, и некоторые символы преобразованы в Unicode по-другому, в зависимости от правила преобразования. MySQL поддерживает только одно из этих правил.

Набор символов MySQL cp932 разработан, чтобы решить эти проблемы.

Поскольку MySQL поддерживает преобразование набора символов, важно отделить IANA Shift_JIS от cp932: это два различных набора символов, потому что они обеспечивают разные правила преобразования.

А в чем разница между cp932 и sjis?

Набор символов cp932 отличается от sjis следующим:

cp932 поддерживает специальные и избранные символы NEC, а также расширенные символы от IBM.

Некоторые символы в cp932 имеют два различных кода, оба из которых преобразовываются в ту же самую Unicode-метку. При преобразовании из Unicode обратно в cp932 один из кодов должен быть выбран. Для этого используется правило, рекомендуемое Microsoft (подробности на http://support.microsoft.com/kb/170559/EN-US/).

Правило преобразования работает примерно так:

Если символ находится в JIS X 0208 и в специальных символах NEC, применяется код из JIS X 0208.

Если символ находится в специальных символах NEC и в расширенных символах IBM, применяется код из специальных символов NEC.

Если символ находится в избранных символах IBM и в расширенных символах IBM, применяется код из расширенных символов IBM.

Таблица, показанная на http://www.microsoft.com/globaldev/reference/dbcs/932.htm обеспечивает информацию относительно значений Unicode символов cp932. Для входов таблицы с символами cp932, под которыми появляется четырехразрядный код, он представляет соответствующий код из Unicode (ucs2). Для входов таблицы с подчеркнутым значением с двумя цифрами имеется диапазон символьных значений cp932, которые начинаются с тех двух цифр. Щелчок на таком входе таблицы отправит Вас к странице, которая отображает значение Unicode для каждого из символов cp932, которые начинаются с тех цифр.

Поделиться с друзьями: