# Главная
# О библиотеке

# Выбор дистрибутива
преимущества Linux/UNIX | основные дистрибутивы | серверный Linux | BSD | LiveCDs | прочее

# Установка и удаление программ
общие вопросы | каталоги софта | специальные случаи

# Настройка и работа
установка, загрузчики | настройка Linux | консоль | файловые системы | процессы | шеллы, русификация, коммандеры | виртуальные машины, эмуляторы

# X Window и оконные менеджеры
настройка X Window | GNOME | KDE | IceWM и др.

# Работа с текстами
редакторы | офис | шрифты, кодировки и русификация | преобразования текстовых файлов | LaTeX, SGML и др. | словари

# Графика
GIMP | фото | обработка изображений | форматы графических файлов

# Сети, администрирование
общие вопросы | Dialup & PPP | брандмауэры | маршрутизация | работа в Windows-сетях | веб-серверы | Apache | прокси-серверы | сетевая печать | прочее

# Программирование
GCC & GNU make | программирование в UNIX | графические библиотеки | Tcl | Perl | PHP | Java & C# | СУБД | CVS | прочее

# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное

# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке


MySQL The World's Most Popular Open Source Database # Online shop | Site map |  
CompanyProductsSupport & ConsultingTraining & CertificationDownloadsDocumentation
  BooksArticlesMailing ListsPresentationsOther Sites  
Search the MySQL manual:
MySQL Manual
  • 4 Администрирование баз данных
    • 4.6 Локализация MySQL и использование национальных алфавитов
      • 4.6.1 Набор символов, применяющийся для записи данных и сортировки
      • 4.6.2 Сообщения об ошибках на языках, отличных от английского
      • 4.6.3 Добавление набора символов
      • 4.6.4 Массивы определения символов
      • 4.6.5 Поддержка упорядочивания строк
      • 4.6.6 Поддержка многобайтовых символов
      • 4.6.7 Проблемы с наборами символов

Buy this Reference Manual in softcover from Barnes & Noble!

MySQL Reference Manual
Previous / Next / Up / Table of Contents

4.6.4 Массивы определения символов

Простые массивы to_lower[] и to_upper[] содержат символы верхнего и нижнего регистров, соответствующие каждому из символов набора. Например:

to_lower['A'] should contain 'a'
to_upper['a'] should contain 'A'

sort_order[] - карта, устанавливающая правила упорядочивания символов для сравнения и сортировки. Во многих наборах символов эта таблица совпадает с to_upper[] (благодаря чему при сортировке регистр символов не учитывается). MySQL сортирует символы в соответствии со значением sort_order[символ]. Более сложные правила упорядочивания строк разъясняются ниже. See section 4.6.5 Поддержка упорядочивания строк.

ctype[] представляет собой массив битов, по одному элементу на каждый из символов. (Массивы to_lower[], to_upper[], и sort_order[] индексируются по значению символа, а ctype[] - по значению символа + 1. Это позволяет обрабатывать символы EOF).

В файле `m_ctype.h' приведены следующие определения битовых масок:

#define _U 01 /* верхний регистр */
#define _L 02 /* нижний регистр */
#define _N 04 /* число (цифра) */
#define _S 010 /* символ пробела */
#define _P 020 /* знак пунктуации */
#define _C 040 /* управляющий символ */
#define _B 0100 /* пустой символ */
#define _X 0200 /* шестнадцатеричная цифра */

Значение ctype[] для каждого из символов должно представлять собой объединение значений битовых масок, описывающих символ. Например, 'A' представят собой символ верхнего регистра (_U) а также шестнадцатеричную цифру (_X), поэтому элемент ['A'+1] должен содержать значение:

_U + _X = 01 + 0200 = 0201

User Comments

Add your own comment.

Top / Previous / Next / Up / Table of Contents
# MySQL.com home | Site map | Contact us | Press | Jobs | Privacy policy | Trademark info | © 1995-2003 MySQL AB. All rights reserved.