请教php编码问题

2025-05-01 19:21:58
推荐回答(3个)
回答1:

简单介绍:
首先你的网站出现乱码问题,是由于编码不统一引起的,在一个网站中有三处编码:数据库编码、php程序编码、网页显示编码。数据库编码:即mysql建数据库时的编码,大多数默认是utf8_general_ci;php程序编码:即连接数据库时设定的编码,mysql_query("set names 'utf8'");也可以是GBK等;网页显示编码:即浏览器显示的编码,可以在html网页中定义,,也可以在php页面的header(“content-type:text/html;charset=utf-8")函数定义。
原因:
1、数据库编码、php程序编码不一致。这种情况下,你插入到数据库中的就是乱码了,所以显示的是乱码,在数据库中看到的就是乱码。

2、数据库编码、网页编码不一致。这种情况下,你插入到数据库的数据是正常显示的,但从数据库读出并显示到浏览器就是乱码了,因为两者编码不一致,致使编码混乱所致。
3、php程序编码、网页显示编码不一致。这种情况下,你的源数据编码与显示的数据编码不一致,从而使显示乱码,这一点比较好理解,两者从开始就不一致,所以最后显示就不一致,呈现乱码。
解决方法:
避免乱码,要做到”三码合一“,即上述三处编码要统一,举个例子:如果你要用utf-8的编码,那么数据库编码就为:utf8_general_ci;php程序编码就为:mysql_query("set names 'utf8'");,网页显示编码就为:或者是php页面中的header(“content-type:text/html;charset=utf-8"),这就看你的前台页面是html还是php了。
如果这三码统一了,你打开网页还是乱码,就右键单击网页选中编码项,改为你网页的编码或者是自动检测,要不就在浏览器的工具菜单里改一下编码,刷新一下网页就ok。

回答2:

html里面在head表现之间写入:

php文件建立时一定要设定为utf8格式
mysql在建立表的时候可以加上charset=utf8

回答3:

网页乱码的唯一原因就是编码与解码的问题。如果你的网页编码是utf-8,而打开指定编码不是utf-8的话,就会出现乱码。如果数据库编码是gb2132,而网页编码不是gb2132也会出瑞乱码。句话,乱码,就是编码问题。
解决办法:确保数据编码与网页编码一至。设:数据库编码为utf-8,则要在网页头部加:


手工完成。