用户
 找回密码
 入住 CI 中国社区
搜索
楼主: sam
收起左侧

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

[复制链接]
发表于 2009-4-7 14:07:51 | 显示全部楼层
文件编码问题
idgnarn 发表于 2009-3-5 22:01

加在哪个地方?
发表于 2009-4-7 16:43:59 | 显示全部楼层
不是加在那个地方。是文件编码属性。很多工具可以看到。
发表于 2009-4-8 17:16:33 | 显示全部楼层
18# yuwen002
还有一个更简单并且通用的方法,以我的情况为例,数据库字符集为gbk,配置database.php中char_set和dbcollat为gbk和gbk_chinese_ci,这样的话在程序中不用增加任何多余代码即可实现数据结果中文正常显示,同时静态内容中的中文也能正常显示,大家可以尝试一下。
发表于 2009-4-9 09:38:37 | 显示全部楼层
强制设置为GBK编码,在mysql里面使用set names gbk,如果你的页面是UTF,将从数据库里面返回的中文转码为UTF......
头像被屏蔽
发表于 2009-4-10 09:00:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-5-18 09:14:05 | 显示全部楼层
我发现了这样一个问题,CI程序本身是用GB2312,但是我们写数据库用UTF8,我们自己写的程序又是GB2312,这样,页面读取出来的自然也是GB2312,而且Ci的报错和提示都是GB2312,但是Ci设置中用又有$config['charset'] = "UTF-8";这样一条,着实令人疑惑不解,到底怎么设置才能让所有问题解决:

我的一个想法就是,既然要用UTF-8,就把所有文件,包括CI的程序,全部改为UTF-8(可以用记事本打开,另存为UTF-8字符集),对应$config['charset'] = "UTF-8",还有数据库设计也用UTF-8,之后自己添加的程序也用UTF-8,这样所有编码一致,就不会出现乱码的问题了。
发表于 2009-5-18 10:12:19 | 显示全部楼层
$config['charset'] = "UTF-8"
这个配置变量没什么大用处,可以忽略。。。。。。
保证没有乱码就要所有地方都使用同一个编码即可,不要抱有侥幸心理,一定要统一。
发表于 2009-8-30 01:13:09 | 显示全部楼层
19# 番茄炒鸡蛋

非常感谢,解决乱码问题了。
发表于 2010-11-10 17:30:39 | 显示全部楼层
都试过了,不行

还有如果我在主控制器开头加上header("Content-Type: text/html;charset=utf-8");
这时候 ...
sam 发表于 2009-3-5 13:20



    我的也是这样,不知道这时候应该如何解决了。
发表于 2011-9-15 13:48:13 | 显示全部楼层
把浏览器的编码改成UTF8就可以了!

本版积分规则