php中数据库操作乱码,试了各种办法了还是不行!

来源:百度知道 编辑:UC知道 时间:2024/05/07 11:04:52
用utf8做的网页,保存为utf8格式的,数据库,数据表,字段保存为utf8_general_ci编码,库操作前加上了mysql_query("set names 'utf8'");的语句,结果网页显示乱码,不加上,在mysql命令行下,和phpmyadmin下都是乱码,网页也指定<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />了,还是乱码,不知如何解决!
问题解决了,库操作前加上了mysql_query("set names 'utf8'");这句话,加在连接数据库那个文件里就可以了,比如是conn.php,而不是单独加在其它文件里。

如果你用记事本来开发:
对于任何一个记事本我们单击另存为,发现有四种编码方式:ANSI,Uuicode,Unicode big endian,UTF-8这四种,没有必要更改默认的ANSI即可。另外:
1.打开mysql/my.ini文件夹找到default-character-set=Latin1 更改为default-character-set=gb2312;
2.在创建表的时候最后面记得加这句话:default charset=gb2312 如下所示:
create table <表名>(.....)default charset=gb2312;
3.在调用数据库的时候,加一句话,如下所示:
$link=mysql_connect('localhost','root','');
mysql_select_db('stud',$link);
mysql_query("set names 'gb2312' ");----加这句话!
这样,有2,3两步实现了编码及存储入表的匹配。
3.出现中文无法显示的原因有一个就是存储的编码跟连接数据库时的编码不一致导致的,特征表现为中文显示为?

再多试几次就好了!

听一楼的

试试1楼的

我也是按一楼的方法试了好多次,可是并不成功,最后终于还是找到了一个简单的方法,但是为此你要失去你以前建立的数据库,但是有也值啊,问题解决了就好.
在我的方法中,只要将网页的显格式都为gb2312或者UTF-8就好了.其余的就不是数据库的问题了.
http://hi.baidu.com/zpz2009/blog/item/6dcf9a098050f438e8248830.html

1.PHP编码:mysql_query