⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysqlnd_charset.c

📁 linux下安装不上mysql5与php5的可用此关联
💻 C
📖 第 1 页 / 共 2 页
字号:
		return 0;	}	return (valid_sjis_head((uint)start[0]) && valid_sjis_tail((uint)start[1])) ? 2 : 0;}static uint mysqlnd_mbcharlen_sjis(uint sjis){	return (valid_sjis_head((uint)sjis)) ? 2 : 1;}/* }}} *//* {{{ ucs2 functions */static uint check_mb_ucs2(const char *start __attribute((unused)), const char *end __attribute((unused))){	return 2; /* always 2 */}static uint mysqlnd_mbcharlen_ucs2(uint ucs2){	return 2; /* always 2 */}/* }}} *//* {{{ ujis functions */#define valid_ujis(c)     	((0xA1 <= ((c)&0xFF) && ((c)&0xFF) <= 0xFE))#define valid_ujis_kata(c)  ((0xA1 <= ((c)&0xFF) && ((c)&0xFF) <= 0xDF))#define valid_ujis_ss2(c) 	(((c)&0xFF) == 0x8E)#define valid_ujis_ss3(c) 	(((c)&0xFF) == 0x8F)static uint check_mb_ujis(const char *start, const char *end){	if ((uint)start[0] < 0x80) {		return 0;	/* invalid ujis character */	}	if (valid_ujis(*(start)) && valid_ujis(*((start)+1))) {		return 2;	}	if (valid_ujis_ss2(*(start)) && valid_ujis_kata(*((start)+1))) {		return 2;	}	if (valid_ujis_ss3(*(start)) && (end-start) > 2 && valid_ujis(*((start)+1))			&& valid_ujis(*((start)+2))) {		return 3;	}	return 0;}static uint mysqlnd_mbcharlen_ujis(uint ujis){	if (((ujis & 0xFF) >= 0xA1 && (ujis & 0xFF) <= 0xFE) ||		((ujis & 0xFF) == 0x8E)) {		return 2;	}	if ((ujis & 0xFF) == 0x8F) {		return 3;	}	return 1;}/* }}} *//* {{{ mysqlnd_charsets */const MYSQLND_CHARSET mysqlnd_charsets[] ={	{   1, "big5","big5_chinese_ci", 1, 2, 0, mysqlnd_mbcharlen_big5, check_mb_big5},	{   3, "dec8", "dec8_swedisch_ci", 1, 1, 0, NULL, NULL},	{   4, "cp850", "cp850_general_ci", 1, 1, 0, NULL, NULL},	{   6, "hp8", "hp8_english_ci", 1, 1, 0, NULL, NULL},	{   7, "koi8r", "koi8r_general_ci", 1, 1, 0, NULL, NULL},	{   8, "latin1", "latin1_swedish_ci", 1, 1, 0, NULL, NULL},	{   9, "latin2", "latin2_general_ci", 1, 1, 0, NULL, NULL},	{  10, "swe7", "swe7_swedish_ci", 1, 1, 0, NULL, NULL},	{  11, "ascii", "ascii_general_ci", 1, 1, 0, NULL, NULL},	{  12, "ujis", "ujis_japanese_ci", 1, 3, 0, mysqlnd_mbcharlen_ujis, check_mb_ujis},	{  13, "sjis", "sjis_japanese_ci", 1, 2, 0, mysqlnd_mbcharlen_sjis, check_mb_sjis},	{  16, "hebrew", "hebrew_general_ci", 1, 1, 0, NULL, NULL},	{  18, "tis620", "tis620_thai_ci", 1, 1, 0, NULL, NULL},	{  19, "euckr", "euckr_korean_ci", 1, 2, 0, mysqlnd_mbcharlen_euckr, check_mb_eucjpms},	{  22, "koi8u", "koi8u_general_ci", 1, 1, 0, NULL, NULL},	{  24, "gb2312", "gb2312_chinese_ci", 1, 2, 0, mysqlnd_mbcharlen_gb2312, check_mb_gb2312},	{  25, "greek", "greek_general_ci", 1, 1, 0, NULL, NULL},		{  26, "cp1250", "cp1250_general_ci", 1, 1, 0, NULL, NULL},	{  28, "gbk", "gbk_chinese_ci", 1, 2, 0, mysqlnd_mbcharlen_gbk, check_mb_gbk},	{  30, "latin5", "latin5_turkish_ci", 1, 1, 0, NULL, NULL},	{  32, "armascii8", "armascii8_general_ci", 1, 1, 0, NULL, NULL},	{  33, "utf8", "utf8_general_ci", 1, 2, 0, mysqlnd_mbcharlen_utf8,  check_mb_utf8},	{  35, "ucs2", "ucs2_general_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{  36, "cp866", "cp866_general_ci", 1, 1, 0, NULL, NULL},	{  37, "keybcs2", "keybcs2_general_ci", 1, 1, 0, NULL, NULL},	{  38, "macce", "macce_general_ci", 1, 1, 0, NULL, NULL},	{  39, "macroman", "macroman_general_ci", 1, 1, 0, NULL, NULL},	{  40, "cp852", "cp852_general_ci", 1, 1, 0, NULL, NULL},	{  41, "latin7", "latin7_general_ci", 1, 1, 0, NULL, NULL},	{  51, "cp1251", "cp1251_general_ci", 1, 1, 0, NULL, NULL},	{  57, "cp1256", "cp1256_general_ci", 1, 1, 0, NULL, NULL},	{  59, "cp1257", "cp1257_general_ci", 1, 1, 0, NULL, NULL},	{  63, "binary", "binary", 1, 1, 0, NULL, NULL},	{  92, "geostd8", "geostd8_general_ci", 1, 1, 0, NULL, NULL},	{  95, "cp932", "cp932_japanese_ci", 1, 2, 1, mysqlnd_mbcharlen_cp932, check_mb_cp932},	{  97, "eucjpms", "eucjpms_japanese_ci", 1, 3, 0, mysqlnd_mbcharlen_eucjpms, },	{   2, "latin2", "latin2_czech_cs", 1, 1, 0, NULL, NULL},	{   5, "latin1", "latin1_german_ci", 1, 1, 0, NULL, NULL},	{  14, "cp1251", "cp1251_bulgarian_ci", 1, 1, 0, NULL, NULL},	{  15, "latin1", "latin1_danish_ci", 1, 1, 0, NULL, NULL},	{  17, "filename", "filename", 1, 5, 1, NULL, NULL},	{  20, "latin7", "latin7_estonian_cs", 1, 1, 0, NULL, NULL},	{  21, "latin2", "latin2_hungarian_ci", 1, 1, 0, NULL, NULL},	{  23, "cp1251", "cp1251_ukrainian_ci", 1, 1, 0, NULL, NULL},	{  27, "latin2", "latin2_croatian_ci", 1, 1, 0, NULL, NULL},	{  29, "cp1257", "cp1257_lithunian_ci", 1, 1, 0, NULL, NULL},	{  31, "latin1", "latin1_german2_ci", 1, 1, 0, NULL, NULL},	{  34, "cp1250", "cp1250_czech_cs", 1, 1, 0, NULL, NULL},	{  42, "latin7", "latin7_general_cs", 1, 1, 0, NULL, NULL},	{  43, "macce", "macce_bin", 1, 1, 0, NULL, NULL},	{  44, "cp1250", "cp1250_croatian_ci", 1, 1, 0, NULL, NULL},	{  47, "latin1", "latin1_bin", 1, 1, 0, NULL, NULL},	{  48, "latin1", "latin1_general_ci", 1, 1, 0, NULL, NULL},	{  49, "latin1", "latin1_general_cs", 1, 1, 0, NULL, NULL},	{  50, "cp1251", "cp1251_bin", 1, 1, 0, NULL, NULL},	{  52, "cp1251", "cp1251_general_cs", 1, 1, 0, NULL, NULL},	{  53, "macroman", "macroman_bin", 1, 1, 0, NULL, NULL},	{  58, "cp1257", "cp1257_bin", 1, 1, 0, NULL, NULL},	{  60, "armascii8", "armascii8_bin", 1, 1, 0, NULL, NULL},	{  65, "ascii", "ascii_bin", 1, 1, 0, NULL, NULL},	{  66, "cp1250", "cp1250_bin", 1, 1, 0, NULL, NULL},	{  67, "cp1256", "cp1256_bin", 1, 1, 0, NULL, NULL},	{  68, "cp866", "cp866_bin", 1, 1, 0, NULL, NULL},	{  69, "dec8", "dec8_bin", 1, 1, 0, NULL, NULL},	{  70, "greek", "greek_bin", 1, 1, 0, NULL, NULL},	{  71, "hebew", "hebrew_bin", 1, 1, 0, NULL, NULL},	{  72, "hp8", "hp8_bin", 1, 1, 0, NULL, NULL},	{  73, "keybcs2", "keybcs2_bin", 1, 1, 0, NULL, NULL},	{  74, "koi8r", "koi8r_bin", 1, 1, 0, NULL, NULL},	{  75, "koi8u", "koi8u_bin", 1, 1, 0, NULL, NULL},	{  77, "latin2", "latin2_bin", 1, 1, 0, NULL, NULL},	{  78, "latin5", "latin5_bin", 1, 1, 0, NULL, NULL},	{  79, "latin7", "latin7_bin", 1, 1, 0, NULL, NULL},	{  80, "cp850", "cp850_bin", 1, 1, 0, NULL, NULL},	{  81, "cp852", "cp852_bin", 1, 1, 0, NULL, NULL},	{  82, "swe7", "swe7_bin", 1, 1, 0, NULL, NULL},	{  93, "geostd8", "geostd8_bin", 1, 1, 0, NULL, NULL},	{  83, "utf8", "utf8_bin", 1, 2, 0, mysqlnd_mbcharlen_utf8,  check_mb_utf8},	{  84, "big5", "big5_bin", 1, 2, 0, mysqlnd_mbcharlen_big5, check_mb_big5},	{  85, "euckr", "euckr_bin", 1, 2, 0, mysqlnd_mbcharlen_euckr, check_mb_euckr},	{  86, "gb2312", "gb2312_bin", 1, 2, 0, mysqlnd_mbcharlen_gb2312, check_mb_gb2312},	{  87, "gbk", "gbk_bin", 1, 2, 0, mysqlnd_mbcharlen_gbk, check_mb_gbk},	{  88, "sjis", "sjis_bin", 1, 2, 0, mysqlnd_mbcharlen_sjis, check_mb_sjis},	{  89, "tis620", "tis620_bin", 1, 1, 0, NULL, NULL},	{  90, "ucs2", "ucs2_bin", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{  91, "ujis", "ujis_bin", 1, 3, 0, mysqlnd_mbcharlen_ujis, check_mb_ujis},	{  94, "latin1", "latin1_spanish_ci", 1, 1, 0, NULL, NULL},	{  96, "cp932", "cp932_bin", 1, 2, 1, mysqlnd_mbcharlen_cp932, check_mb_cp932},	{  99, "cp1250", "cp1250_polish_ci", 1, 1, 0, NULL, NULL},	{  98, "eucjpms", "eucjpms_bin", 1, 3, 0, mysqlnd_mbcharlen_eucjpms, check_mb_eucjpms},	{ 128, "ucs2", "ucs2_unicode_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 129, "ucs2", "ucs2_icelandic_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 130, "ucs2", "ucs2_latvian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 131, "ucs2", "ucs2_romanian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 132, "ucs2", "ucs2_slovenian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 133, "ucs2", "ucs2_polish_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 134, "ucs2", "ucs2_estonian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 135, "ucs2", "ucs2_spanish_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 136, "ucs2", "ucs2_swedish_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 137, "ucs2", "ucs2_turkish_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 138, "ucs2", "ucs2_czech_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 139, "ucs2", "ucs2_danish_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 140, "ucs2", "ucs2_lithunian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 141, "ucs2", "ucs2_slovak_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 142, "ucs2", "ucs2_spanish2_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 143, "ucs2", "ucs2_roman_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 144, "ucs2", "ucs2_persian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 145, "ucs2", "ucs2_esperanto_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 146, "ucs2", "ucs2_hungarian_ci", 2, 2, 0, mysqlnd_mbcharlen_ucs2, check_mb_ucs2},	{ 192, "utf8", "utf8_general_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 193, "utf8", "utf8_icelandic_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 194, "utf8", "utf8_latvian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8,  check_mb_utf8},	{ 195, "utf8", "utf8_romanian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 196, "utf8", "utf8_slovenian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 197, "utf8", "utf8_polish_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 198, "utf8", "utf8_estonian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 119, "utf8", "utf8_spanish_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 200, "utf8", "utf8_swedish_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 201, "utf8", "utf8_turkish_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 202, "utf8", "utf8_czech_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 203, "utf8", "utf8_danish_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8 },	{ 204, "utf8", "utf8_lithunian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8 },	{ 205, "utf8", "utf8_slovak_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 206, "utf8", "utf8_spanish2_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 207, "utf8", "utf8_roman_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 208, "utf8", "utf8_persian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 209, "utf8", "utf8_esperanto_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 210, "utf8", "utf8_hungarian_ci", 1, 3, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8},	{ 254, "utf8", "utf8_general_cs", 1, 2, 0, mysqlnd_mbcharlen_utf8, check_mb_utf8 },	{   0, NULL, NULL, 0, 0, 0, NULL, NULL}};/* }}} *//* {{{ mysqlnd_find_charset_nr */const MYSQLND_CHARSET * mysqlnd_find_charset_nr(uint charsetnr){	const MYSQLND_CHARSET * c = mysqlnd_charsets;	do {		if (c->nr == charsetnr) {			return c;		}		++c;	} while (c[0].nr != 0);	return NULL;}/* }}} *//* {{{ mysqlnd_find_charset_name */const MYSQLND_CHARSET * mysqlnd_find_charset_name(const char * const name){	const MYSQLND_CHARSET *c = mysqlnd_charsets;	do {		if (!strcasecmp(c->name, name)) {			return c;		}		++c;	} while (c[0].nr != 0);	return NULL;}/* }}} */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -