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

| cp932 | SJIS for Windows Japanese | cp932_japanese_ci |

| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci |

+----------+-----------------------------+---------------------+

<p id="aRan_8249143530">10.10.1. Наборы символов Unicode</p>

MySQL имеет два набора символов Unicode. Вы можете сохранять текст приблизительно для 650 языков, используя эти наборы символов.

Объединения ucs2 (UCS-2 Unicode):

ucs2_bin

ucs2_czech_ci

ucs2_danish_ci

ucs2_esperanto_ci

ucs2_estonian_ci

ucs2_general_ci (default)

ucs2_hungarian_ci

ucs2_icelandic_ci

ucs2_latvian_ci

ucs2_lithuanian_ci

ucs2_persian_ci

ucs2_polish_ci

ucs2_roman_ci

ucs2_romanian_ci

ucs2_slovak_ci

ucs2_slovenian_ci

ucs2_spanish2_ci

ucs2_spanish_ci

ucs2_swedish_ci

ucs2_turkish_ci

ucs2_unicode_ci

Объединения utf8 (UTF-8 Unicode):

utf8_bin

utf8_czech_ci

utf8_danish_ci

utf8_esperanto_ci

utf8_estonian_ci

utf8_general_ci (default)

utf8_hungarian_ci

utf8_icelandic_ci

utf8_latvian_ci

utf8_lithuanian_ci

utf8_persian_ci

utf8_polish_ci

utf8_roman_ci

utf8_romanian_ci

utf8_slovak_ci

utf8_slovenian_ci

utf8_spanish2_ci

utf8_spanish_ci

utf8_swedish_ci

utf8_turkish_ci

utf8_unicode_ci

Обратите внимание, что в объединениях ucs2_roman_ci и utf8_roman_ci I и J считаются эквивалентными, равно как и пара U и V.

Объединения ucs2_hungarian_ci и utf8_hungarian_ci были добавлены в MySQL 5.1.5.

MySQL осуществляет объединение utf8_unicode_ci согласно Unicode Collation Algorithm (UCA), описанному на http://www.unicode.org/reports/tr10/. Объединение использует version-4.0.0 UCA weight keys: http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt. Следующее обсуждение использует utf8_unicode_ci, но это также верно и для ucs2_unicode_ci.

В настоящее время объединение utf8_unicode_ci имеет только частичную поддержку для Unicode Collation Algorithm. Некоторые символы все же не обеспечиваются. Также полностью не обеспечивается объединение меток. Это воздействует прежде всего на вьетнамский и некоторые малораспространенные языки в России, типа Udmurt, Tatar, Bashkir и Mari.

Старшее свойство в utf8_unicode_ci: это поддерживает расширения, то есть когда один символ сравнивается как равный комбинациям других символов. Например, в немецком и некоторых других языках +Я равен ss.

utf8_general_ci объединение, которое не поддерживает расширения. Это может делать только взаимно-однозначные сравнения между символами. Это означает, что сравнения для объединения utf8_general_ci быстрее, но немного менее правильные, чем сравнения для utf8_unicode_ci.

Например, следующие равенства верны в utf8_general_ci и в utf8_unicode_ci:

+Д = A

+Ц = O

+Ь = U

Различие между объединениями: это является истинным для utf8_general_ci:

+Я = s

В то время, как это истинно для utf8_unicode_ci:

+Я = ss

MySQL осуществляет специфические для языка объединения для набора символов utf8 только, если упорядочение с utf8_unicode_ci не работает хорошо для языка. Например, utf8_unicode_ci работает прекрасно для German и French, а значит нет никакой потребности создавать специальные объединения utf8 для этих двух языков.

utf8_general_ci также удовлетворителен для German и French за исключением того, что +Я равно s, но ss. Если это приемлемо для вашей прикладной программы, то применяйте utf8_general_ci, потому что это быстрее. Иначе, используйте utf8_unicode_ci, потому что это более точно.

utf8_swedish_ci, подобно другим специфическим для языка объединениям utf8, получен из utf8_unicode_ci с дополнительными правилами языка. Например, в Swedish следующие связи хранения, которые неприменимы для German или French:

+Ь = Y < +Ц

Объединения utf8_spanish_ci и utf8_spanish2_ci соответствуют современному и традиционному испанскому, соответственно. В обоих объединениях + (n-tilde) отдельный символ между n и o. Кроме того, для традиионного испанского ch отдельный символ между c и d, а ll отдельный символ между l и m

<p id="aRan_8485967171">10.10.2. Западноевропейские наборы символов</p>

Западноевропейские наборы символов покрывают большинство западноевропейских языков, типа French, Spanish, Catalan, Basque, Portuguese, Italian, Albanian, Dutch, German, Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, Scottish и English.

Объединения ascii (US ASCII):

ascii_bin

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

Объединения cp850 (DOS West European):

cp850_bin

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

Объединения dec8 (DEC Western European):

dec8_bin

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

Объединения hp8 (HP Western European):

hp8_bin

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

Объединения latin1 (cp1252 West European):

latin1_bin

latin1_danish_ci

latin1_general_ci

latin1_general_cs

latin1_german1_ci

latin1_german2_ci

latin1_spanish_ci

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

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT