正在检查登录状态... | 繁體中文 | 设为首页 | 加入收藏
点击:317 | 评论:0 | 辅助功能: 复制 | 打印 | 字体: | |

MySQL内部乱码问题的解决

作者: 蓝天下云层上 发表于 最后更新于
版权声明:转载请征求作者同意,转载时必以超链接形式标明文章原始出处和作者信息及版权声明。
/blog/weblog-160-1.html
自从使用MySQL以来,用MySQL-Front查询时看到的中文均是乱码,不得其解。昨天在看某著名的PHP论坛的数据库时发现同样基于UTF-8编码却能正常显示。后Google得知这是MySQL的原因,一个程序( PHP,CGI 等)与MySQL建立连接后,这个程序发送给MySQL的数据采用的是什么字符集,MySQL 是无从得知的。所以解决乱码问题的根本就是我们在程序中告诉MySQL采用的编码是什么,简单的就是在程序中加入这样的一个语句: SET NAMES 'utf8'。这个语句的效果等同于同时设定了SET character_set_client='utf8'
SET character_set_connection='utf8'
SET character_set_results='utf8'检查程序时发现下面一句被屏蔽掉了,如来是自己没有注意到内部编码的问题$dbh->do("SET NAMES 'utf8'") if $m->{cfg}{charset} eq "UTF-8";这里编码转换的问题又出现在眼前,好在Google到了简单、实用的解决办法mysqldump -u root -p --quick --default-character-set=latin1 --extended-insert=FALSE imx > 1.sqlmysql -u root -p --default-character-set=utf8 imx < 1.sql 完成后MySQL-Front查询时看到的中文就正常了!

此日志的引用通告 URL:
http://www.imx365.net/blog/tb.cgi/160

其实我一直都不知道您在想些什么,有什么感触。说真的,您的评论对于我来说很重要...

还没有人评论过

发表评论
  • (地址不公开)

(访客)