浏览器乱码问题的详细解决
来源:互联网 发布:软件开发管理方法 编辑:程序博客网 时间:2024/06/06 01:15
浏览器显示乱码问题
首先,在介绍浏览器乱码问题之前,我说一下关于文件编码和解码的问题。
如果我使用EditPlus编辑文本,设置Editplus的默认编码环境为ANSI,新建文本,输入:“你好中国”,文件另存为ANSI格式,文件名为test.txt。
然后,我打开EditPlus,改变EditPlus的默认编码环境为Unicode(具体步骤问度娘即可),文件-->打开,打开test.txt文件,发现乱码问题(此处,我自己也有个疑问,我在笔记本上测试时出现乱码,但在台式机测试时,有时候不出现乱码,产生这个问题的原因可能和系统环境有关,也可能和EditPlus的版本有关,我没有再深究。如果有明白的朋友,评论一下,谢谢)。
EditPlus打开test.txt文件,使用的是Unicode编码规则来解码ANSI编码的字符,通过补充知识的内容,显而易见会产生乱码问题。
补充知识:1.“你好中国”对应的ANSI编码为“C4E3 BAC3 D6D0 B9FA”。
“你好中国”对应的Unicode编码为“\u4F60 \u597D \u4E2D \u56FD”
2.文件是保存在硬盘上的,而硬盘只能以2进制(通过是否被磁化来区分是1还是0)存储文字等信息,test.txt在硬盘上存储的数据域为“C4E3 BAC3 D6D0 B9FA”的2进制表示形式。
下面,开始介绍浏览器乱码问题,我是用的是phpstrom集成开发环境(默认编码环境为utf-8)
编辑test.php文件代码如下:
<?php
echo "汉字会产生乱码";
?>
通过360浏览器访问test.php文件,显示结果如下:
”姹夊瓧浼氫骇鐢熶贡鐮�“(出现了乱码问题)
分析产生乱码原因:
右击产生乱码的网页,然后点击“编码”,发现此时360浏览器编码为“中文(简体)GBK”,使用GBK解码utf-8编码的字符文件,当然会产生乱码。
解决方法:
1.改变浏览器的编码,点击编码后,选择uft-8,输出的结果显示正常:”汉字会产生乱码“。
2.在设置header charset解决问题,test.php文件中添加一行设置编码的代码,如下:
<?php
header("Content-type:text/html;Charset=utf-8");
echo "汉字会产生乱码";
?>
(显示结果是正常的)
使用浏览器自带的开发人员工具(F12),得到响应头中的信息:
HTTP/1.1 200 OK
X-Powered-By: PHP/5.3.10
Content-type: text/html;Charset=utf-8
Server: PhpStorm 7.1.3
Content-Length: 21
此时发现360浏览器编码为Unicode(utf-8),也就是说360浏览器根据响应头中的Charset=utf-8自动选择编码为utf-8来解码发送过来的uft-8编码的字符,显示结果正确。
0 0
- 浏览器乱码问题的详细解决
- Struts2详细解决乱码问题
- 解决不同浏览器上中文文件名的下载乱码问题
- 解决火狐浏览器下载文件文件名乱码的问题
- 解决各大浏览器下载文件,文件名乱码的问题
- 输出HTML,浏览器打开时还是乱码问题的解决
- Android Retrofit2+okhttp3详细配置,解决URL乱码的问题。
- 解决浏览器缓存和中文乱码问题
- 解决IOS浏览器中文乱码问题
- 解决浏览器下载附件乱码问题 IE11
- 解决浏览器抛出乱码,(HTML、PHP等的乱码问题)
- 解决乱码的问题
- 乱码问题的解决
- 乱码问题的解决
- 乱码问题的解决
- 乱码问题的解决
- 乱码问题的解决
- 乱码问题的解决
- android ListView滑动首字母顶部停靠效果
- 基于ARM的嵌入式Linux移植真实体验(1)――基本概念
- mysql decimal、numeric数据类型
- iOS 数字输入键盘添加一个完成按钮
- java中properties文件的使用
- 浏览器乱码问题的详细解决
- 从趣味游戏到排序算法(5)
- oracl的一些问题
- jdbc中PreparedStatement接口
- 从趣味游戏到排序算法(4)
- hdu3853 LOOPS 2011 Invitational Contest Host by BUPT
- 从趣味游戏到排序算法(3)
- Xamarin.Forms 的一点体会
- ScrollView中嵌入ViewPager,ViewPager的滑动出现问题