老问题,从数据库调出中文是乱码?
html<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
mysql
UTF-8 Unicode (utf8)
PHP
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
编码一致,数据库中没有乱码,但调出数据显示的是乱码? 你创建数据库时选择什么编码?
pangxiucai 发表于 2009-3-5 12:56 http://codeigniter.org.cn/forums/images/common/back.gif
utf8 你安装Mysql时 没有设置成utf-8
pangxiucai 发表于 2009-3-5 13:03 http://codeigniter.org.cn/forums/images/common/back.gif
安装时应该不能设置吧,通过修改配置文件my.ini,现在mysql就是默认utf8,很郁闷的问题 呵呵,看起来没问题,你看看浏览器里的 HTML 代码到底是什么编码。 本帖最后由 sam 于 2009-3-5 13:24 编辑
呵呵,看起来没问题,你看看浏览器里的 HTML 代码到底是什么编码。
Hex 发表于 2009-3-5 13:08 http://codeigniter.org.cn/forums/images/common/back.gif
浏览器中的源代码,编码是utf-8,中文也是乱码 也有道理 不过按照
应该没问题
pangxiucai 发表于 2009-3-5 13:12 http://codeigniter.org.cn/forums/images/common/back.gif
都试过了,不行
还有如果我在主控制器开头加上header("Content-Type: text/html;charset=utf-8");
这时候从数据库调出的数据正常显示,但html上的静态文字又乱码 多谢楼上各位朋友!问题解决。
好像我的php和html文件保存的时候,有几个是ansi编码
方法:
1.用editplus将所有文件全部保存为utf-8格式
2.在所有控制器头上加header("Content-Type: text/html;charset=utf-8");
这样数据库和html数据都不会乱码 很多人经常会忘记文件的编码属性。如果采用GBK或者GB2312的编码 问题不会暴露,因为 windows下 创建文件默认是ANSI一致的! 所以采用UTF-8的话 页面编码千万别搞错了,选择UTF-8。喜欢editplus的编码转换呵呵 文件编码问题 我前些时遇到了这个问题,并不是文件编码的问题,而是数据库编码的问题,你可能再添加数据之前要先加上set names ('utf8');