CI 处理数据库的乱码问题
mysql 5.0.51, debian lenny 2.6.28mysqld启动脚本已经设置为utf8,
create database和create table都是 default character set utf8 collate default utf8_general_ci的
vim编辑的文件默认就是utf8的,php的meta也显式地声明为utf8
但是查询字串如果包含中文就无法执行,比如 where('cate', '新闻'),改成news就可以
但是,进一步的,如果是字段里包含中文就显示乱码,
试过在mysql 终端里访问,显示正确,但是set names 'utf8'就有变成乱码,原来默认是latin1的,
彻底迷惑了,难道我先是声明的sql还不能生成utf8字符集的数据库吗
看到http://codeigniter.org.cn/forums/thread-977-1-1.html里,插入数据使用的不是汉字,而是utf8的原始编码,也许是这样的问题,或者谁遇到过,不吝赐教,谢谢 /etc/msyql/my.cnf 里面有字符编码设定的,你有没有改为utf8
~/.mf.cnf里面也有连接时用的字符编码,你有没有改为utf8
两个都设为utf8后,再尝试新建一个database,看有没有乱码。。 乱码问题其实根本都是编码不一致造成的,看一下哪里造成的不一致。 最后在初始sql里加上set names 'utf8',总算解决,还不知道如果插入或者更新的话是不是会有问题,是不是还应该在调用之前加上
mysql_query('set names 'utf8');
页:
[1]