国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

關于mysql字符集設置了character_set_client=binary 在gbk情況下會出現表描述是亂碼的情況

2024-05-04 23:13:05
字體:
來源:轉載
供稿:網友
mysql鏈接建立之后,通過如下方式設置編碼:

復制代碼 代碼如下:


mysql_query("SET character_set_connection=" . $GLOBALS['charset'] . ",character_set_results=" . $GLOBALS['charset'] . ",character_set_client=binary", $this->link);


然而建立出來的表結構描述竟然是亂碼:

復制代碼 代碼如下:


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='��վ���ñ�'


經過排查,發現竟然是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='網站配置表'


但是,如果我設置的字符集是UTF8的,表結構也是utf8,那么即使是使用的上面的character_set_client=binary,表結構的描述正常:

復制代碼 代碼如下:


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='網站配置表'


而奇怪的事,亂碼情況只有表結構中的描述中才存在,對于插入的數據中文卻還是正常的~

網上查了character_set_client=binary都說是“大部分為了解決亂碼問題而設置”,卻不知,這個對表結構描述竟然反而亂碼了。到底這個是什么作用呢?表結構的時候又為什么不一樣呢?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张掖市| 丰镇市| 建始县| 石楼县| 万安县| 冀州市| 霍州市| 涪陵区| 武夷山市| 泸溪县| 陕西省| 呼和浩特市| 杭锦后旗| 泰和县| 金塔县| 广饶县| 静安区| 巫山县| 沧州市| 磴口县| 延庆县| 汾阳市| 南和县| 五指山市| 桦甸市| 昌吉市| 铜陵市| 舒兰市| 桓台县| 姚安县| 亳州市| 中江县| 霍山县| 平阴县| 泾源县| 天祝| 疏勒县| 工布江达县| 噶尔县| 宝清县| 辉南县|