对mysql字符集的character_set_client=二进制设置在GBK的情况
复制代码代码如下所示:
mysql_query(设置character_set_connection =。全局'charset'} {美元。character_set_results =。全局'charset'} {美元。character_set_client =二进制
但是,表结构的描述是一个随机代码。
复制代码代码如下所示:
MySQL >显示创建表nw_admin_config G
*************************** 1。行***************************
表:nw_admin_config
表的创建:创建表(` nw_admin_config `
`名字` varchar(30)不为空的默认''' ''',
`命名空间` varchar(15)不为空default'global'comment的主要情况,
'价值'文本评论'驱动器',
` V型`枚举('String','array ','object)不为空default'string '评论'驱动',
`描述`文本comment'yacute;,
主键(名称空间,名称)
= MyISAM引擎默认的字符集GBK评论= 'ntilde元);
经过调查,发现这是character_set_client =二进制的麻烦。
复制代码代码如下:targetdb美元->查询(集名称{ $字符});
复制代码代码如下所示:
MySQL >显示创建表nw_admin_config G
*************************** 1。行***************************
表:nw_admin_config
表的创建:创建表(` nw_admin_config `
`名字` varchar(30)不为空的默认的评论配置名称,
`命名空间` varchar(15)不为空default'global'comment配置命名空间,
'值'文本评论'缓存值',
` V型`枚举('String','array ','object)不为空default'string评论配置价值型,
'描述'文本评论'配置介绍,
主键(名称空间,名称)
)= MyISAM引擎默认的字符集GBK评论= Web站点配置表
然而,如果字符集设置为UTF8,和表结构也是UTF8,即使character_set_client =二元以上使用,表结构的描述是正常的。
复制代码代码如下所示:
MySQL >显示创建表nw_admin_config G
*************************** 1。行***************************
表:nw_admin_config
表的创建:创建表(` nw_admin_config `
`名字` varchar(30)不为空的默认的评论配置名称,
`命名空间` varchar(15)不为空default'global'comment配置命名空间,
'值'文本评论'缓存值',
` V型`枚举('String','array ','object)不为空default'string评论配置价值型,
'描述'文本评论'配置介绍,
主键(名称空间,名称)
)= MyISAM引擎默认的字符集utf8评论= Web站点配置表
奇怪的是,代码情况只存在于表结构中的描述中,而对于插入的数据,中文中的数据是正常的。
character_set_client =二进制已在网上搜。它们大多是用来解决随机代码的问题,但我不知道表格的结构描述实际上是混乱的。这是什么效果为什么表结构不同