用户
 找回密码
 入住 CI 中国社区
搜索
查看: 12797|回复: 20
收起左侧

[已解决] 老问题,从数据库调出中文是乱码?

[复制链接]
发表于 2009-3-5 12:10:21 | 显示全部楼层 |阅读模式
html
HTML复制代码
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
复制代码

mysql
PHP复制代码
 UTF-8 Unicode (utf8)
复制代码

PHP
PHP复制代码
 
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
 
复制代码


编码一致,数据库中没有乱码,但调出数据显示的是乱码?
 楼主| 发表于 2009-3-5 12:58:19 | 显示全部楼层
你创建数据库时选择什么编码?
pangxiucai 发表于 2009-3-5 12:56


utf8
 楼主| 发表于 2009-3-5 13:06:39 | 显示全部楼层
你安装Mysql时 没有设置成utf-8
pangxiucai 发表于 2009-3-5 13:03


安装时应该不能设置吧,通过修改配置文件my.ini,现在mysql就是默认utf8,很郁闷的问题
发表于 2009-3-5 13:08:32 | 显示全部楼层
呵呵,看起来没问题,你看看浏览器里的 HTML 代码到底是什么编码。
 楼主| 发表于 2009-3-5 13:17:14 | 显示全部楼层
本帖最后由 sam 于 2009-3-5 13:24 编辑
呵呵,看起来没问题,你看看浏览器里的 HTML 代码到底是什么编码。
Hex 发表于 2009-3-5 13:08


浏览器中的源代码,编码是utf-8,中文也是乱码
 楼主| 发表于 2009-3-5 13:20:00 | 显示全部楼层
也有道理 不过按照
应该没问题
pangxiucai 发表于 2009-3-5 13:12

都试过了,不行

还有如果我在主控制器开头加上header("Content-Type: text/html;charset=utf-8");
这时候从数据库调出的数据正常显示,但html上的静态文字又乱码
 楼主| 发表于 2009-3-5 14:13:34 | 显示全部楼层
多谢楼上各位朋友!问题解决。

好像我的php和html文件保存的时候,有几个是ansi编码
方法:
1.用editplus将所有文件全部保存为utf-8格式
2.在所有控制器头上加header("Content-Type: text/html;charset=utf-8");
这样数据库和html数据都不会乱码
发表于 2009-3-5 16:55:40 | 显示全部楼层
很多人经常会忘记文件的编码属性。  如果采用GBK或者GB2312的编码 问题不会暴露,因为 windows下 创建文件默认是ANSI  一致的! 所以采用UTF-8的话 页面编码千万别搞错了,选择UTF-8。  喜欢editplus的编码转换  呵呵
发表于 2009-3-5 22:01:22 | 显示全部楼层
文件编码问题
发表于 2009-3-8 16:27:24 | 显示全部楼层
我前些时遇到了这个问题,并不是文件编码的问题,而是数据库编码的问题,你可能再添加数据之前要先加上set names ('utf8');

本版积分规则