求助PHP大神...thinkphp插入数据库乱码

我用thinkphp向mysql数据库插入一组数据但是中文字符全是乱码:
public function insert(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User"); // 实例化模型类 // 数据对象赋值 $Dao->username = "红一样"; $Dao->password = md5("123456"); $Dao->email = "12345@163.com"; $Dao->regdate = time();
// 写入数据mysql_query("set names utf8"); if($lastInsId = $Dao->add()){ echo "插入数据 id 为:$lastInsId"; } else { $this->error('数据写入错误!'); }}

第1个回答  2013-04-01
请查询一下你的数据库编码是什么。
如果是windows系统下 你可以尝试使用 set names GBK;或者是set names GB2312;将mysqlclient的编码设置为GBK或者是GB2312看看在mysqlclient显示还会不会是乱码的,如果你不是用client显示乱码,使用thinkphp显示乱码的话 那么你得查询一下是不是你插入的时候是否编码设置错误,请按照正确的编码进行插入或者输出。
第2个回答  2013-04-01
检查你的数据库编码及文件编码
第3个回答  2013-04-01
你页面设置的编码方式是UTF8的吧
你好、希望能帮到你哈!
第4个回答  2013-04-02
PHP文件什么编码啊,数据库和表是什么编码,另外你的数据哪里来的?直接数还是JS来的?
相似回答