php网站上传到服务器出现乱码?必须手动把浏览器的编码设定成GB2312才能正常显示,请问是原因?

 我来答
lzxassj
2009-12-17 · TA获得超过695个赞
知道小有建树答主
回答量:738
采纳率:0%
帮助的人:599万
展开全部
一.首先是PHP网页的编码

1.php文件本身的编码与网页的编码应匹配

a.如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。

b.如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用 session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。

2.php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。

更多介绍,你可以进我百度空间看下
http://hi.baidu.com/lzxassj/blog/item/42648e2458344a21d40742ce.html
page7
2009-12-17 · TA获得超过240个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:255万
展开全部
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
header里应该有这么一句,是让浏览器判断当前文档编码的。
如果你写的是utf8 那么这里也要改utf8
如果是 gb2312 那也要改 gb2312
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式