(mysql.info.gz) Character arrays
Info Catalog
(mysql.info.gz) Adding character set
(mysql.info.gz) Localisation
(mysql.info.gz) String collating
5.8.4 The Character Definition Arrays
-------------------------------------
`to_lower[]' and `to_upper[]' are simple arrays that hold the lowercase
and uppercase characters corresponding to each member of the character
set. For example:
to_lower['A'] should contain 'a'
to_upper['a'] should contain 'A'
`sort_order[]' is a map indicating how characters should be ordered for
comparison and sorting purposes. Quite often (but not for all character
sets) this is the same as `to_upper[]', which means that sorting will be
case-insensitive. MySQL will sort characters based on the values of
`sort_order[]' elements. For more complicated sorting rules, see the
discussion of string collating in String collating.
`ctype[]' is an array of bit values, with one element for one character.
(Note that `to_lower[]', `to_upper[]', and `sort_order[]' are indexed
by character value, but `ctype[]' is indexed by character value + 1.
This is an old legacy convention to be able to handle `EOF'.)
You can find the following bitmask definitions in `m_ctype.h':
#define _U 01 /* Uppercase */
#define _L 02 /* Lowercase */
#define _N 04 /* Numeral (digit) */
#define _S 010 /* Spacing character */
#define _P 020 /* Punctuation */
#define _C 040 /* Control character */
#define _B 0100 /* Blank */
#define _X 0200 /* heXadecimal digit */
The `ctype[]' entry for each character should be the union of the
applicable bitmask values that describe the character. For example,
`'A'' is an uppercase character (`_U') as well as a hexadecimal digit
(`_X'), so `ctype['A'+1]' should contain the value:
_U + _X = 01 + 0200 = 0201
Info Catalog
(mysql.info.gz) Adding character set
(mysql.info.gz) Localisation
(mysql.info.gz) String collating
automatically generated byinfo2html