MySQL内部乱码问题的解决
自从使用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查询时看到的中文就正常了!
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
其实我一直都不知道您在想些什么,有什么感触。说真的,您的评论对于我来说很重要...
还没有人评论过
发表评论

(访客)