关于ZendStudio网页编码UTF-8和GB2312的问题
2015-09-21 21:35
519 查看
今天在编写一个网页,突然遇到了编码问题。我是在ZendFramework下编写一个系统,用ZendStudio下自动生成了网页框架,但是在网页中写了中文后,浏览器显示乱码。
其实,这是一个误会。
首先,解释下UTF-8和GB2312的区别。一句话,UTF-8是3个字节的编码,而GB2312是4个字节,对相同中文字符得到的二进制编码就不一样了。
其次,中文操作系统下安装ZendStudio,会把你所建的项目代码的编码自动设为GB2312的编码,但是如果你在网页里写
<?xml version="1.0" encoding="utf-8" ?>或
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
,那么你就被ZendStudio忽悠了。你的代码文件的编码跟你所写的网页编码不一样,你文件是GB2312,而你要显示的网页则是utf-8,自然不匹配。
最后,怎么解决呢?知道了为什么你就应该了解了。第一种方法,你把你ZendStudio生成的文件编码改成utf-8。在Zend Studio7下,点击菜单“edit”->“Set Encoding”,就可以更改文件编码了。这样就不用更改你的代码了第二种方法,你改代码,把<?xml version="1.0" encoding="utf-8" ?>或
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />中的utf-8改成GB2312。只要文件编码跟代码一致就行。
其实,这是一个误会。
首先,解释下UTF-8和GB2312的区别。一句话,UTF-8是3个字节的编码,而GB2312是4个字节,对相同中文字符得到的二进制编码就不一样了。
其次,中文操作系统下安装ZendStudio,会把你所建的项目代码的编码自动设为GB2312的编码,但是如果你在网页里写
<?xml version="1.0" encoding="utf-8" ?>或
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
,那么你就被ZendStudio忽悠了。你的代码文件的编码跟你所写的网页编码不一样,你文件是GB2312,而你要显示的网页则是utf-8,自然不匹配。
最后,怎么解决呢?知道了为什么你就应该了解了。第一种方法,你把你ZendStudio生成的文件编码改成utf-8。在Zend Studio7下,点击菜单“edit”->“Set Encoding”,就可以更改文件编码了。这样就不用更改你的代码了第二种方法,你改代码,把<?xml version="1.0" encoding="utf-8" ?>或
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />中的utf-8改成GB2312。只要文件编码跟代码一致就行。
来自————肖飞figo的云计算专栏
相关文章推荐
- FTP原理
- 手机和电脑使用局域网传数据
- 黑马北京新闻项目连载(4)--->ViewPagerIndicator结合FragmentPagerAdapter(开源库的Git上的demo)
- phpstrom配置xdebug
- ThinkPHP-数据库配置和模板调用
- php apc上传文件带进度
- php上传带进度
- php $_GET与$_POST各自的特点
- YII框架分析笔记8:CDataProvider
- YII框架分析笔记6:视图
- YII框架分析笔记5:控制器和动作
- YII框架分析笔记4:ar模型和db
- YII框架分析笔记3:表单模型和验证
- “TI门外汉”网路知识笔记九 生成树协议(STP)
- PHP生成条形码
- phpunit.xml 用法
- [转]PHP7革新与性能优化
- CodeIgniter入口文件解析
- php $_POST提交无法输出的问题
- (一)Intellij output 中文乱码