- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WEB开发中乱码及其解决方法
WEB开发中乱码及其解决方法摘要:文章通过阐述编码原理及web应用流程,分析了在不同环节可能出现的乱码表现形式、出现原因及其解决方案,并给出了防止乱码出现的web开发原则。
关键词:乱码 字符编码 字符集
中图分类号:TP311.10 文献标识码:A 文章编号:1007-9416(2012)07-0086-02
在web应用程序开发过程中,有时候会出现文字显示异常或者无法识别的乱码现象,这种现象的本质是web系统缺乏对某种字符编码的支持或者字符编码不统一而产生的混乱字符。
1、字符编码基本概念
字符编码是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他一种集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(如文字)来表达信息,而以计算机为基础的信息处理系统则是利用元件不同状态的组合来存储和处理信息,元件不同状态的组合能代表数字系统的数字。字符编码就是将符号转换为计算机可以接受的数字的规则。常见的字符编码有ASCII、GB2312、GBK和UNICEODE。以某种编码方式编写的字符集合称为字符集,它是编码的具体呈现方式。
1.1 ASCII
ASCII是基于拉丁字母的一套电脑编码系统。ASCII能表示128个字符,其扩展系统可以表示256个字符。ASCII字符集主要包括控制字符(如回车键、退格、换行键等)、英文大小写字符、阿拉伯数字和西文符号,它主要用于显示现代英语。
1.2 GB2312
GB2312是中文信息处理的国家标准,兼容ASCII字符集。能表示7445个符号,包括6763个汉字,几乎囊括了所有使用频率高的汉字,是中国内地及海外使用简体中文地区强制使用的唯一中文编码。
1.3 GBK
由于GB2312只收录了6763个汉字,有不少汉字(如部分汉字、人名用字、繁体字、日语及朝鲜语汉字等)并未有收录在内。于是,利用了GB 2312未使用的编码空间,制定了GBK编码。它是GB2312的扩展,兼容GB2312,可表示21886个字符。
1.4 UNICODE
由于不同语言使用不同的编码方案,给处理多种语言带来麻烦。为了在一个环境下可以处理不同的语言文字,Unicode组织设计了可以容纳全世界所有语言文字的UNICODE编码方案。但该编码仅规定了字符的编码方案,但没有确定字符的存储或传输方案,为了存储或传输UNICODE字符又定义了具体的UNICODE存储表示编码,分别是UTF-8、UTF-16和UTF-32。UNICODE编码与ASCII编码兼容,但与GBK等编码不兼容。
从字符编码的不同定义可以看出,同一个字采用不同的编码方式其表示是不一样的。比如汉字“中”,用ASCII是无法表示的,采用GB2312编码表示为5448,采用GBK编码表示为D6D0,采用UTF-8编码表示为%E4%B8%AD。
2、WEB应用响应流程分析
乱码在web应用的任何一个环节都可能出现,要了解乱码出现的原因及其解决对策,我们首先分析WEB应用的响应流程。
web应用必须遵守HTTP协议,HTTP协议规定浏览器与web服务器之间传递的参数信息中不能出现某些特殊字符(如中文),而必须对这些字符进行URL编码后再传递,所以我们在后面讨论中所涉及的都是经过编码的实体信息。
从图1可以看出,web响应流程大致分为三层,即客户端,web服务器及数据库。客户端通过HTTP协议向web服务器发送请求,web服务器接收请求进行相应处理或通过sql语言与数据库交互后,再将信息再通过HTTP协议反馈回客户端,并在浏览器上显示。
3、乱码出现的原因及其对策
无论是浏览器、web服务器还是数据库,在信息传递的各个环节,如果其所使用的编码不一致,就会对字符进行错误编码后传递而导致反馈结果为乱码。由此可以分析得出乱码出现的原因及其对策。
3.1 浏览器的问题
浏览器并不支持所有的编码,所以多语言开发的web页面或者程序,很容易出现乱码。
要使浏览器支持多语言页面,安装多语言编码支持包即可。
3.2 HTML头部信息设置不当
HTML头部信息是用于浏览器识别关于网页的信息。其中与编码有关的是HTTP-EQUIV属性。该属性类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助浏览器正确的显示网页内容。常用的HTTP-EQUIV属性有Content-Type和Content-Language,用来设定页面使用的字符集,说明页面制作所使用的文字或语言,浏览器会据此来调用相应的字符集显示网页内容。具体使用方法如下:
从这个例子可以看出该页面所使用的字符集为GB2132
您可能关注的文档
- Oracle数据库应用中安全管理策略研究.doc
- Oracle数据库性能优化方法探究.doc
- Orem自理理论在结肠造口病人中应用.doc
- Oracle数据库在AIX下备份及恢复改进.doc
- PBL教学模式在妇产科临床教学中应用研究.doc
- PGRS模式在Access数据库课程教学中应用.doc
- PHC管桩水平静载试验及成果参数推算探究.doc
- Photoshop制图过程中抠图技巧探究.doc
- Photoshop对当代学生重要性.doc
- PHC管桩施工质量问题处理方案探析.doc
- 2025年山东英才学院单招(语文)测试题库往年题考.docx
- 2025年山西省运城市单招语文测试模拟题库完整.docx
- 2025年山西省吕梁市单招语文测试模拟题库及答案一套.docx
- 2025年山西省太原市行政职业能力测验模拟试题参考答案.docx
- 2025年山东省菏泽地区选调生考试(行政职业能力测验)综合能力题库含答案.docx
- 2025年山西水利职业技术学院单招(语文)测试题库学生专用.docx
- 2025年山西省财政税务专科学校单招(语文)测试模拟题库汇编.docx
- 2025年山西省大同市事业单位招聘考试(职业能力倾向测验)题库及参考答案.docx
- 2025年山西省吕梁市事业单位招聘考试(职业能力倾向测验)题库推荐.docx
- 廉政谈话讲话稿.pptx
文档评论(0)