`
xuyuanshuaaa
  • 浏览: 394776 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

jsp的编码方式

 
阅读更多
关于JSP页面中的pageEncoding和contentType两种属性的区别:

pageEncoding是jsp文件本身的编码

contentType的charset是指服务器发送给客户端时的内容编码

JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。

第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。

第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。

JAVAC用UTF-8的encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范。

第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数 contentType就发挥了功效

contentType的設定.

pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此). 但这不是绝对的, 这要看各自JSPC的处理方式. 而pageEncoding不等于contentType, 更有利亚洲区的文字 CJKV系JSP网页的开发和展示, (例pageEncoding=GB2312 不等于 contentType=utf-8)。

jsp文件不像.java,.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,台湾就是BIG5或者MS950。而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。所以编译器采用的方法刚好可以让虚拟机得到正确的资料。

但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。

举个例子:

<%@ page contentType="text/html;charset=utf-8" %>

大都会打印出乱码,因为输入的“你好”是gbk的,但是服务器是否正确抓到“你好”不得而知。

但是如果更改为

<%@ page contentType="text/html;charset=utf-8" pageEncoding="GBK"%>

这样就服务器一定会是正确抓到“你好”了。
分享到:
评论

相关推荐

    jsp编码 jsp乱码

    jsp编码是指jsp页面中的编码方式,jsp页面可以使用不同的编码方式,如UTF-8、GBK等。jsp编码的原理是jsp页面在编译成Servlet时使用的编码方式。jsp编译器会根据jsp页面中的pageEncoding参数来确定jsp页面的编码方式...

    Jsp页面中的字符编码方式与乱码解决方法

    JSP 页面中的字符编码方式与乱码解决方法 在 JSP 中,字符编码方式的设置是非常重要的,因为它直接影响着页面的显示效果。如果不正确地设置字符编码方式,可能会出现乱码问题。下面我们将详细介绍 JSP 中的字符编码...

    jsp编码规范

    【JSP编码规范】是Java Web开发中的一个重要组成部分,它旨在提高代码的可读性、可维护性和团队协作效率。以下是一些关键的规范要点: 1. **文件命名规范**: - **文件后缀**:不同的文件类型应遵循特定的后缀。如...

    Jsp页面中的字符编码方式与乱码解决方法[归类].pdf

    JSP页面中的字符编码方式与乱码解决方法 在 JSP/Servlet 中,字符编码方式是一个非常重要的概念,它直接关系到页面的正确显示和数据的传输。在 JSP/Servlet 中主要有四个地方可以设置编码,分别是 pageEncoding、...

    JspSmartUpload自定义编码版

    JspSmartUpload通过自定义编码方式,确保了文件名和上传数据在处理过程中保持正确的UTF-8编码,从而有效避免了这种问题。 **JSP**全称JavaServer Pages,是一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码...

    如何改变MyEclipse默认编码方式

    这样设置之后,所有新创建或导入的JSP文件将自动使用所选的编码方式。 #### 三、注意事项 1. **兼容性问题**:在更改编码方式之前,请确保新的编码方式与现有系统环境兼容,避免出现乱码或其他问题。 2. **已存在...

    JSP和Servlet中的几个编码的作用及原理

    - **作用**:`pageEncoding` 属性用于设置JSP文件编译成Servlet时的编码方式。这是JSP特有的属性,不能在Servlet中使用。 - **应用场景**:当JSP文件中有直接定义的字符串时(即不在表单提交中出现的字符串),如果...

    AJAX CSS JS JSP 编码规范

    AJAX CSS JS JSP 编码规范 AJAX、CSS、JS 和 JSP 是当前 ...3. 使用 UTF-8 编码方式。 编码规范是保障代码质量和可维護性的关键。遵守编码规范可以提高代码的可读性、可维護性和重用性,从而提高开发效率和软件质量。

    myeclipse(设置JSP页面编码格式)【图解很详细的】

    MyEclipse作为一款强大的Java EE集成开发环境,提供了便捷的方式来配置JSP页面的编码。以下将详细介绍如何在MyEclipse中设置JSP页面编码格式。 1. **打开MyEclipse** 首先,确保已经安装并启动了MyEclipse。如果...

    解决JSP中文乱码问题

    解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见...解决 JSP 中文乱码问题需要从多方面入手,包括在 JSP 文件中指定编码方式,在 Java 文件中指定编码方式,在页面中指定编码方式,并确保编码方式的一致性。

    jsp中文显示问号问题解决方法.docx

    解决JSP 中文显示问号问题的方法有两种:一种是在 Eclipse 中设置 Encoding 选项,另一种是修改 JSP 文件的编码方式。 方法一:在 Eclipse 中设置 Encoding 选项 在 Eclipse 中,可以通过设置 Encoding 选项来解决 ...

    JSP编码以及乱码问题解疑

    **JSP编码与乱码问题详解** 在JSP(JavaServer Pages)开发中,编码问题是一个常见的困扰,尤其是在处理中文字符时。本文将深入探讨JSP编程过程中出现的乱码问题,包括原因分析和解决方案。 1. **基本的乱码问题**...

    Struts属于校验(使用直接编码方式)

    Struts2_02_Verify这个压缩包文件可能包含了关于Struts2中使用直接编码方式进行校验的示例代码和教程,通过学习和理解这些示例,开发者可以更好地掌握Struts的校验机制,并对比理解更现代的校验方式。

    JSP用户提交页面编码

    - **多浏览器兼容性**:不同的浏览器对于字符编码的处理方式可能存在差异,因此在开发过程中需要测试多种浏览器,确保在所有目标用户使用的浏览器上都能正常显示。 #### 六、总结 正确处理用户提交的数据编码对于...

    jsp中文乱码问题解决

    jsp中文乱码问题产生的原因是由于jsp页面的编码方式和浏览器的编码方式不一致所致。jsp页面的编码方式默认为ISO-8859-1,而浏览器的编码方式默认为GBK或UTF-8。这样就会导致jsp页面中的中文字符乱码。 解决jsp中文...

    在线问卷调查系统使用jsp编码

    - 数据分析:设计合适的统计方法,以可视化的方式展示调查结果。 - 可扩展性:系统应具备扩展性,方便添加新的问卷类型或功能。 综上所述,这个在线问卷调查系统利用JSP技术和SQL数据库,实现了问卷发布、数据收集...

    JSP中汉字乱码现象分析与解决.pdf

    综上所述,解决JSP中的中文乱码问题主要涉及以下几个方面:合理设置JSP文件和响应的编码方式、注意文件头部的BOM、确保客户端和服务器端之间的编码方式一致、正确处理GET和POST请求中的中文参数。通过上述措施,可以...

    JSP页面的基本结构——求圆面积周长

    * page指令:,用于指定JSP页面的编码方式、语言、缓存等属性。 * include指令:,用于将其他文件包含到当前JSP页面中。 二、脚本(Script) JSP脚本是一种Java语句或表达式,它可以嵌入到JSP页面中,从而实现动态...

    jsp页面传值中文乱码问题处理.docx

    在 JSP 文件中,如果中文内容显示乱码,可能是由于浏览器的默认编码方式为 ISO-8859-1,而 JSP 文件的编码方式为 UTF-8所致。解决方案是,替换 ISO-8859-1,修改页面编码为 UTF-8。 调用 Servlet 显示乱码 在调用 ...

    在jsp中嵌入flv视频播放器

    - 注释中的`&lt;embed&gt;`标签提供了另一种方式来嵌入播放器,增强了页面的兼容性。 ### 五、实践与注意事项 在实际应用中,嵌入FLV播放器时还需注意以下几点: - 确保Flash Player版本与所需功能相匹配。 - 考虑到不同...

Global site tag (gtag.js) - Google Analytics