关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况


Posted in PHP onJanuary 06, 2013

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都说是“大部分为了解决乱码问题而设置”,却不知,这个对表结构描述竟然反而乱码了。到底这个是什么作用呢?表结构的时候又为什么不一样呢?

PHP 相关文章推荐
php字符串截取问题
Nov 28 PHP
php db类库进行数据库操作
Mar 19 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 PHP
laravel入门知识点整理
Sep 15 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 #PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 #PHP
php学习笔记之面向对象编程
Dec 29 #PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 #PHP
PHP中计算字符串相似度的函数代码
Dec 29 #PHP
PHP flock 文件锁详细介绍
Dec 29 #PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 #PHP
You might like
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
PHP生成唯一订单号
2015/07/05 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
js实现随机点名功能
2020/12/23 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
公司总经理岗位职责
2014/03/15 职场文书
银行授权委托书格式
2014/10/10 职场文书
银行求职信模板
2015/03/20 职场文书
消防宣传语大全
2015/07/13 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript