show create table 乱码 使用show create table 获得的查询结果中,中文字符为乱码,其它查询正常?什么原因?如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 show variables like 'char%'; 贴结果估计是字符集问题 字符集问题先执行set names 'UTF8' 看看 字符集没有问题,因为其它查询结果都是正常的,我用的字符集全部是utf-8,我想把查询结果输出到文件,只有这个查询是乱码! 肯定是字符集问题因为你这个内容是保存在系统表里面的,你读取时,也是从系统表里面读出来如果你用当时建这个表的那个终端去show create table,而且确定show variables like 'char%'跟当时连接的情况完全一样,那显示结果肯定是正常的 CREATE TABLE `t` ( `cols` char(255) default NULL COMMENT '是这一个注释') ENGINE=InnoDB DEFAULT CHARSET=utf8;用show create table 存入文件后 这个注释 就是乱码,其它 select 都正常 SELECT column_comment FROM INFORMATION_SCHEMA.columns where table_schema='库名' and table_name='表名'你这样看看保存在系统表里面注释是否正常吧。 我可能没有描述清楚,是这样的,我想做数据库的备份,需要用show create table 获取表的创建语句,其它包含中文的语句都是输出成功,只有这个里面的注释是乱码,用vinsonshen的方法在navicat里显示都是正常的,就是输出到文件后是乱码,navicat应该有字符修正,我也用过在每条语句前 加set names utf8,但无效,实在搞不明白是咋回事了,而我试图将那些乱码还原,用了很多种办法也没有效果! 乱码 是你文件编码问题吧你用editplus试试 保存为utf8编码格式 两种可能1。你创建这个表的时候,当时工具的环境中的字符集不是 utf8 的,2。你当前工具无法显示UTF8字符集(比如WINDOWS下的DOS工具无法正常显示UTF8)http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspxMySQL 中文显示乱码 去年的帖子,回复一下。我搜了好一阵才找到问题原因。http://bugs.mysql.com/bug.php?id=10491这个是MySQL的bug,简单来说就是show create table语句返回的内容是binary,有些程序会处理错误,例如connectory/j,会默认转为US-ASCII,所以需要进行显示的编码转换。MySQL 5.1应该修复了。 紧急求助;mysql语句问题 外键 mysql的datatime类型是否精确到毫秒? SQL优化 ~~ 出现Using temporary; Using filesort 1000万级数据,mysql能胜任否? 如何使mysql数据库中的编号重新从1开始编号? jdbc中SQL语言书写规范是什么? MYSQL,虚拟主机用户给多少权限? 怎样取得一段范围内的时间序列? mysql 函数返回的结果是否能转成结果集用------请求大神帮助 mysql workbench为何无法远程连接数据库? 求一SQL语句.
贴结果
估计是字符集问题
因为你这个内容是保存在系统表里面的,你读取时,也是从系统表里面读出来
如果你用当时建这个表的那个终端去show create table,而且确定show variables like 'char%'跟当时连接的情况完全一样,那显示结果肯定是正常的
`cols` char(255) default NULL COMMENT '是这一个注释'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
用show create table 存入文件后 这个注释 就是乱码,其它 select 都正常
你这样看看保存在系统表里面注释是否正常吧。
两种可能
1。你创建这个表的时候,当时工具的环境中的字符集不是 utf8 的,
2。你当前工具无法显示UTF8字符集(比如WINDOWS下的DOS工具无法正常显示UTF8)
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
http://bugs.mysql.com/bug.php?id=10491
这个是MySQL的bug,简单来说就是show create table语句返回的内容是binary,有些程序会处理错误,例如connectory/j,会默认转为US-ASCII,所以需要进行显示的编码转换。
MySQL 5.1应该修复了。