有关页面编码的控制问题,乱码如何解决

来源:互联网 发布:气象数据下载 编辑:程序博客网 时间:2024/04/29 21:11

有关页面编码的控制问题

最近手头没有项目,上班自己上w3s上看看jquery文档,学习js。收获了一个很好用的ajax上传图片的jq插件ajaxFileUpload,详细的使用教程参考这篇博客

今天着重看了以前一直不太清楚的html文本编码问题。

先说结论:
1,文件的编码由文本编辑器决定,如你用notepad++编辑了一个html文件上传到了服务器上,可以选择utf8或者ansi保存(注意:在windows系统上ansi编码即为gb2321编码)
选择文件编码

2,php可以发送消息头提示浏览器以什么格式编码文件

//设置编码为utf8header("Content-type: text/html; charset=utf-8"); //设置编码为gbkheader("Content-type: text/html; charset=gbk"); 

3,服务器可以设置默认的编码格式,在php没有设置header头的情况下,发送默认的编码格式,在apache中编辑httpd.conf,添加如下配置

AddDefaultCharset GBK#AddDefaultCharset UTF8

nginx上也有相应的配置,没试过,就不写了。
通过chrome开发这工具捕获的回复header头。
回复header头

4,在html文档的head头中,可以用mate标签告诉浏览器文本的编码格式

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">//简洁风格<meta charset="utf-8">

要保证文本文件的在浏览器中打开不乱码,需要文本编辑器保存的文件的编码和浏览器对文档的编码(即放在header头或meta标签的编码)方式一致即可。

在优先级上:php的header()函数设置的编码大于服务器设置的编码大于html文档meta标签设置的编码。

0 0
原创粉丝点击