使用PHP向MYSQL数据库插入中文数据时,页面中文显示正常,但是数据库里面确实乱码,该怎么解决?

MYSQL的链接校对,数据库表以及里面的字段,PHP页面设置的charset都是采用“utf8_general_ci”,而且在PHP代码中还加上一句:mysql_query("set names 'utf8_general_ci'");如果把这句中的'utf8_general_ci'换成'utf8'则页面和数据库都是乱码。

这个问题不大。
主要导出来是乱码才问题。
你检查过页面是不是utf8的没有,不行最上面加上
<?php
header("Content-Type: text/html; charset=utf-8");//好像是utf-8,你可以试试utf8,gb2312总有一个可以的啦。
?>
你在数据库里看,你在数据库里打:
set names utf8

要是要显示在到页面你才用mysql_query('set names utf8');
再说一件事,数据库里乱码好像还是比较常见的(只要是用那个phpmyadmin)
运作没问题都没事的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-25
配置环境 数据库创建 和 编程环境 编码同时都设置成一样的就没问题了
第2个回答  2011-07-25
数据库里面也有编码设置的,要改成一致的追问

那里也设置啦,就是不行啊。页面的中文显示正常,但是数据库里面是乱码。

第3个回答  2011-07-22
可能你创建的数据库不是utf8的,重新再建个数据库试试追问

我创建的数据库是utf8的

追答

肯定是你的编码不统一,你再想想哪里编码不对,肯定是数据库不对,你把数据库删除后再新建一个,编码一定要和页面的保持一致,我以前也出现过这样的错误,数据库里面都是?,是吧

追问

我找人亲自帮我重新创建设置过了,没用,都一样。而且数据库里面都的中文都是乱码,但是就是没有?,是其他乱七八糟的字符。

追答

可能你传的数据就是乱码,你输出来看看