我已将VARCHAR(250)
字段的整理设置为utf8_unicode_ci
。我在phpMyAdmin中使用斯洛伐克语字符插入我的记录,然后在数据库中查看时,它显示一切正常。但当我尝试查询并从我的PHP脚本中获取结果时,它显示我“Pokutovanýsarozhodne ......”。我试图获取返回数据的字符代码,它真的是一个“?”字符而不是浏览器字符问题。此外,我还在我的页面“”中回应了这一行。没有成功。任何想法如何解决它。
我正在使用CodeIgniter和MySQL。在我的配置文件
中$config['charset'] = 'UTF-8';
在数据库配置文件中我有
$db['default']['dbcollat'] = 'utf8_unicode_ci';
在控制器中:
class Welcome extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->library('pagination');
//echo $this->session->userdata('AppLanguage');
$this->config->set_item('language', $this->session->userdata('AppLanguage'));
$this->output->set_header('Content-Type: text/html; charset=utf-8');
}
答案 0 :(得分:0)
前一段时间我与CodeIgniter有类似的问题。在CI_DB_Driver
类(/system/database/DB_Driver.php
)中,有一个db_set_charset()
函数在初始化类时调用。我注释掉了函数调用,它修复了问题。