百度空间 | 百度首页 
 
查看文章
 
discuz on amoeba 乱码问题解决
2009/02/01 下午 05:58
discuz 直接连接 mysql 全部ok没有乱码,但是当前面加了 amoeba 的时候就出现乱码了。
今天研究了一天。后来通过查看 mysql sql执行日志还有 amoeba sql执行日志才发现原因。
同时也发了份邮件个amoeba作者,希望能够得到回答。

discuz是通过
mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary,
sql_mode=''");
来设置字符编码的,
而不是 set names utf8 这样来设置的,

在 amoeba服务端日志我读到,当php不执行set names utf8的时候它就会默认到 slave myql上执行一个 set names latin1,当设置了 mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary,sql_mode=''"); 后还是一样,似乎amoeba只去认 setnames xxx 这个语法。
还有为什么默认一定要是 set names latin1,而不是utf8呢?这个比较严重。


最后解决问题就是 把 include/db_mysql.class.php 里的 设置编码方式改成 set names utf8

类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu