CHARSET_INFO结构是很大,本来想了解一下,但是就这样针对一个结构去来解每一项的含义,意义也不时很大。关键还是要看对结构的操作。对于MYSQL的CHARSET_INFO,在网址http://dev.mysql.com/doc/refman/5.1/zh/charset.html有中文的详细介绍。对此了解后,我们也大概可以了解到对该结构会有什么操作,也就大概知道该结构中应该要包含那些属性了。下面是CHARSET_INFO的结构。后面阅读代码是遇见详细操作在讲。
typedef struct charset_info_st
{
uint number;
uint primary_number;
uint binary_number;
uint state;
const char *csname;
const char *name;
const char *comment;
uchar *ctype;
uchar *to_lower;
uchar *to_upper;
uchar *sort_order;
uint16 *tab_to_uni;
MY_UNI_IDX *tab_from_uni;
uchar state_map[256];
uchar ident_map[256];
uint strxfrm_multiply;
uint mbminlen;
uint mbmaxlen;
uint16 max_sort_char; /* For LIKE optimization */
MY_CHARSET_HANDLER *cset;
MY_COLLATION_HANDLER *coll;
} CHARSET_INFO;