跪求解答,utf-8输出乱码。
页面代码,文档编码,数据库字符集全部都设置的是UTF-8.通过 $this->db->load 读取数据库,输出的中文全部是乱码。
但我通过 自己写的数据库连接输出。中文确是正常的。
说明问题出在通过$this->db->load输出上。config里面的数据库文件,没有改过。
请hex解惑,困扰一个星期了。 江湖救急啊,难道我就用不了数据库类. $this->db->load 有这个方法吗? $this->db->load,打字的时候打错了。 $this->load->database();
刚接触codeigniter 见笑了。
请哪位大侠指教下小弟上面提出的问题。跪谢了。 config/database.php 怎么配置的?贴出来看看。 $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试过。 你这个设置没有问题,在我这里很正常,说明是你的服务器环境问题。
如果你的其他页面没问题的话。
最好把你的代码都贴出来。 代码如下:
<?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();
}
}
?>
显示结果:
http://b21.photo.store.qq.com/http_imgload.cgi?/rurl4_b=86336d3e0feae967ea2a6f727ef9197bb8b90e9a01c7bff13c9210174f268be1fe3f92e39c6dcbc96a03b653eba5856365da1262dccaaab355fa6188ea9767b1dba16b7f22ea9072e5b6d76b802fddeaba157e69 这是我自己的数据库连接:
<?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>";
}
}
}
?>
显示是正常的,现在就不晓得要调整哪里的设置了。 问题已解决,是我以前对服务器的配置文件改的太多。可能某些地方,改出的问题。具体不晓得哪里出错。全部重新装了一便。现在可以了。
非常谢谢,Hex的指点。初学,以后有问题望多多指教。
以后会是论坛常客,祝我们论坛人丁兴旺。恭喜发财。
页:
[1]
2