sqlitemysql乱码处理一则

故此yii做了个投票的略微物,用了sqlite数据库。临上丝时,因为考虑到压力问题,换成mysql。只有大概的几乎独说明,直接手工建的。

其实用时,发现数据库中保存的汉字成为????形式之东西。

率先,yii是用了utf8的。config/mail.php中,mysql的总是参数里吗起charset=utf8的安装。

附带,建立mysql数据库时也是选择了utf8的。建表时未尝细看。

既发生了乱码,当然要想方法。

第一去网上搜了一部分东西,要改变是改变非常的,问题是自家的php+mysql环境是为此了phpnow建的,在其他机器上都运作了健康,不象是布置文件有误。

从,怀疑是建表时没有在意到说明底字符集。看了瞬间,果然表的字符集给默认设置成了latin-(瑞典)什么的东西,改化utf8-general-ci,(用了phpMyAdmin的表管理下面的“整理”),乱码依旧。

试行着手工在phpMyAdmin里发生题目之表里增加一条带汉字之笔录,出现错误:

    Warning: #1366 Incorrect string value: #xxxx #xxxx #xxxx… for
column xxxx

 看来是mysql自身之题材。没道,试着抹这个发明,重建一个,建时选择utf8字符集,再试,一切正常了。

 ------------

结论:

如出一辙,库的字符集设好了看来还不够,表的字符集也如科学。

次,表底字符集如果建表时若错了,用“整理”功能修改或者没用,需要重建表。 

网站地图xml地图