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

[已解决] 跪求解答,utf-8输出乱码。

[复制链接]
发表于 2009-7-20 17:30:03 | 显示全部楼层 |阅读模式
页面代码,文档编码,数据库字符集全部都设置的是UTF-8.

通过 $this->db->load 读取数据库,输出的中文全部是乱码。

但我通过 自己写的数据库连接输出。中文确是正常的。

说明问题出在通过$this->db->load输出上。config里面的数据库文件,没有改过。

请hex解惑,困扰一个星期了。
 楼主| 发表于 2009-7-20 17:41:43 | 显示全部楼层
江湖救急啊,难道我就用不了数据库类.
发表于 2009-7-20 18:03:50 | 显示全部楼层
$this->db->load 有这个方法吗?
 楼主| 发表于 2009-7-20 18:05:26 | 显示全部楼层
$this->db->load,打字的时候打错了。        $this->load->database();

刚接触codeigniter 见笑了。

请哪位大侠指教下小弟上面提出的问题。跪谢了。
发表于 2009-7-20 18:53:42 | 显示全部楼层
config/database.php 怎么配置的?贴出来看看。
 楼主| 发表于 2009-7-20 23:27:10 | 显示全部楼层
$active_group = "default";
$active_record = TRUE;
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "admin888";
$db['default']['database'] = "xuyong";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";


$db['default']['dbcollat'] = "utf8_general_ci"; 这句曾经改成utf8_unicode_ci试过。
发表于 2009-7-21 00:04:26 | 显示全部楼层
你这个设置没有问题,在我这里很正常,说明是你的服务器环境问题。
如果你的其他页面没问题的话。
最好把你的代码都贴出来。
 楼主| 发表于 2009-7-21 00:34:08 | 显示全部楼层
代码如下:
<?php
class Welcome extends Controller {
function Welcome(){
  parent::Controller();
}

function index(){
  $this->load->database();
  $query = $this->db->query('SELECT * FROM xy_test');
  foreach ($query->result() as $row){
   echo $row->id." : ".$row->title;
   echo "<br>";
  }
  echo 'Total Results: ' . $query->num_rows();
}
}
?>
显示结果:
 楼主| 发表于 2009-7-21 00:57:26 | 显示全部楼层
这是我自己的数据库连接:
<?php
class Welcome extends Controller {
        function Welcome(){
                parent::Controller();       
        }
       
        function index(){
                require 'conn_open.php';
                $result = mysql_query("select * from xy_test");
                while($row = mysql_fetch_array($result)){
                        echo $row['title'];
                        echo "<br>";
                }
        }
}
?>
显示是正常的,现在就不晓得要调整哪里的设置了。
 楼主| 发表于 2009-7-21 02:49:14 | 显示全部楼层
问题已解决,是我以前对服务器的配置文件改的太多。可能某些地方,改出的问题。具体不晓得哪里出错。全部重新装了一便。现在可以了。

非常谢谢,Hex的指点。初学,以后有问题望多多指教。

以后会是论坛常客,祝我们论坛人丁兴旺。恭喜发财。

本版积分规则