色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

關(guān)于mysql字符集設置了character_set_client=binary 在gbk情況下會出現(xiàn)表描述是亂碼的情況

mysql鏈接建立之后,通過如下方式設置編碼:
復制代碼 代碼如下:
mysql_query("SET character_set_connection=" . $GLOBALS['charset'] . ",character_set_results=" . $GLOBALS['charset'] . ",character_set_client=binary", $this->link);

然而建立出來的表結(jié)構(gòu)描述竟然是亂碼:
復制代碼 代碼如下:
mysql> show create table nw_admin_config/G
*************************** 1. row ***************************
Table: nw_admin_config
Create Table: CREATE TABLE `nw_admin_config` (
`name` varchar(30) NOT NULL DEFAULT '' COMMENT '��������',
`namespace` varchar(15) NOT NULL DEFAULT 'global' COMMENT '���������ռ�',
`value` text COMMENT '����ֵ',
`vtype` enum('string','array','object') NOT NULL DEFAULT 'string' COMMENT '����ֵ����',
`description` text COMMENT '���ý���',
PRIMARY KEY (`namespace`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='��վ���ñ�'

經(jīng)過排查,發(fā)現(xiàn)竟然是character_set_client=binary惹的禍:

復制代碼 代碼如下:$targetDb->query("SET NAMES '{$charset}'");

復制代碼 代碼如下:
mysql> show create table nw_admin_config/G
*************************** 1. row ***************************
Table: nw_admin_config
Create Table: CREATE TABLE `nw_admin_config` (
`name` varchar(30) NOT NULL DEFAULT '' COMMENT '配置名稱',
`namespace` varchar(15) NOT NULL DEFAULT 'global' COMMENT '配置命名空間',
`value` text COMMENT '緩存值',
`vtype` enum('string','array','object') NOT NULL DEFAULT 'string' COMMENT '配置值類型',
`description` text COMMENT '配置介紹',
PRIMARY KEY (`namespace`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='網(wǎng)站配置表'

但是,如果我設置的字符集是UTF8的,表結(jié)構(gòu)也是utf8,那么即使是使用的上面的character_set_client=binary,表結(jié)構(gòu)的描述正常:
復制代碼 代碼如下:
mysql> show create table nw_admin_config/G
*************************** 1. row ***************************
Table: nw_admin_config
Create Table: CREATE TABLE `nw_admin_config` (
`name` varchar(30) NOT NULL DEFAULT '' COMMENT '配置名稱',
`namespace` varchar(15) NOT NULL DEFAULT 'global' COMMENT '配置命名空間',
`value` text COMMENT '緩存值',
`vtype` enum('string','array','object') NOT NULL DEFAULT 'string' COMMENT '配置值類型',
`description` text COMMENT '配置介紹',
PRIMARY KEY (`namespace`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='網(wǎng)站配置表'

而奇怪的事,亂碼情況只有表結(jié)構(gòu)中的描述中才存在,對于插入的數(shù)據(jù)中文卻還是正常的~

網(wǎng)上查了character_set_client=binary都說是“大部分為了解決亂碼問題而設置”,卻不知,這個對表結(jié)構(gòu)描述竟然反而亂碼了。到底這個是什么作用呢?表結(jié)構(gòu)的時候又為什么不一樣呢?

php技術(shù)關(guān)于mysql字符集設置了character_set_client=binary 在gbk情況下會出現(xiàn)表描述是亂碼的情況,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 运城市| 山东省| 汝阳县| 云南省| 汉沽区| 来凤县| 宣恩县| 同心县| 宜宾市| 尉犁县| 保康县| 双江| 贵港市| 河北区| 永寿县| 常州市| 壤塘县| 邯郸市| 伊川县| 休宁县| 那坡县| 商丘市| 岗巴县| 庆阳市| 宁明县| 綦江县| 桂平市| 本溪| 阜新市| 渭源县| 贵溪市| 桓台县| 额敏县| 汝阳县| 扶余县| 石首市| 新泰市| 自贡市| 黎平县| 阳原县| 滕州市|