CodeIgniter 中文乱码问题
1. HTML
In the html, add the meta-tag:
<meta charset="utf-8" />
<?php class home extends CI_Controller { function index() { // 通过常用的 php 的 header 函数设置编码 header("Content-type:text/html;charset=utf-8"); echo '测试输出'; } function myecho() { // 使用Output类来解决 $this->output->set_content_type('application/html;charset=utf-8'); $this->output->set_output("测试输出"); } } ?>
2. VI、notepad++等编辑器设置为utf8
VI: set enc=utf-8
3. php.ini
default_charset = "utf-8"
4. 数据库方面
4.1 vi /etc/my.cnf
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8
4.2 创建表的时候设置默认字符集
CREATE TABLE news ( id int(11) NOT NULL AUTO_INCREMENT, title varchar(128) NOT NULL, slug varchar(128) NOT NULL, text text NOT NULL, PRIMARY KEY (id), KEY slug (slug) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
4.2 设置 CI 配置: vi application/config/database.php
$db['default']['char_set'] = 'utf8';