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

数据库和页面都设置了UTF-8还是乱码!

[复制链接]
发表于 2011-4-9 22:06:21 | 显示全部楼层 |阅读模式
本帖最后由 liren 于 2011-4-9 22:08 编辑

大家帮忙看看!

数据库设置:
character_set_database=utf8
数据库我用utf-8创建的,查看 character_set_database是utf8.用phpmyadmin查看数据中文也是乱码,但是我用cmd窗口进mysql控制台查看不是乱码!
页面:
PHP复制代码
 
<?php
header("Content-Type:text/html;charset=utf-8");
 
$link = mysql_pconnect($mysql_host, $mysql_user, $mysql_pasw);
 
mysql_query("SET NAMES 'utf8'");
$db = mysql_select_db ($mysql_db);
mysql_query("SET NAMES 'utf8'");
        $sql = "SELECT item_nm FROM catalogstree WHERE item_parent_id=$parent_id  ORDER BY item_order";
       
                $res = mysql_query ($sql);
               
                                echo "Get value:".$row['item_nm'];
 
复制代码

打印出来!
PHP复制代码
Get value:ÖÐÎÄ´Ó
复制代码
乱码!

都是UTF-8了为什么还是不行,页面我也另保存成 utf-8了!
发表于 2011-4-10 02:38:50 | 显示全部楼层
1. phpmyadmin 乱码说明你的数据库编码有问题,只有 phpmyadmin 正常,你的数据库编码才正常。
2. 你最好使用 <meta> 标签设置编码。
3. 根据你说的用 cmd 查看不乱码,估计你的数据库内容实际是 GBK 的,因为 cmd 下貌似只能显示 GBK。
4. 建议你好好利用 google,搜索一下“MySQL 乱码”,会有很多答案的。
5. 这个问题和 CI 无关,纯属 PHP 基础知识。
 楼主| 发表于 2011-4-10 11:54:03 | 显示全部楼层
1. phpmyadmin 乱码说明你的数据库编码有问题,只有 phpmyadmin 正常,你的数据库编码才正常。
2. 你最好使 ...
Hex 发表于 2011-4-10 02:38



奇怪 我把数据库编码改成utf8就行,但是页面的meta 还是 gbk,居然提交后也是正常的中文,不理解。。
发表于 2011-4-10 18:08:48 | 显示全部楼层
没有什么不理解,你的编码估计一直都是 GBK,只不过声明成UTF-8而已。
建议楼主好好补习一下编码知识,基础一定要打好。

本版积分规则