2011年1月2日星期日

CodeIgniter + Mysql : 中文表单乱码问题

上周用CodeIgniter搞了2个简单的前台页面,发现表单传中文内容正常,往Mysql的表里写的时候总是乱码。

折腾了一阵,总算搞定,参考资料如下:

配置说明:

mysql编码配置:

mysql_charset.png

mysql建表命令:

   create table sometable (
   id int unsigned,
   user varchar(30),
   test text);

CodeIgniter的system\application\config\config.php中设置:

codeigniter_config_charset.png

CodeIgniter的system\application\config\database.php设置:

codeigniter_db_charset.png

使用说明:

  • php文件的编码是gb2312,用 $this->db->insert($table, $data); 往表里插数据是正常的gb2312编码。
  • perl脚本的编码是gb2312,用DBI连接数据库时不用显式指定编码,可直接取回表中gb2312编码的内容。

没有评论:

发表评论