涉及JSPServlet的页面编码问题

Posted No pain No gain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涉及JSPServlet的页面编码问题相关的知识,希望对你有一定的参考价值。

 1. JSP页面中,二处的字符编码有何区别

<%@ page contentType="text/html;charset=UTF-8" %>
是服务器端java程序运行时的输出编码,即服务器端以什么样的编码向客户端输出HTML时采用的编码.


是指客户端浏览器以什么样的编码来显示网页,指导浏览器解析服务器端传入的HTML流. 同时它还有一个作用,指导其提交表单的时候使用什么编码传入request.

request.setCharacterEncoding("gbk")//把页面参数按gbk编码后传入服务器端

同理:

  2. 在servlet中用response的#3#种设置输出内容的编码方式,有以下三个方法:

1、response.setCharacterEncoding("UTF-8")

2、response.setContentType("text/html;charset=UTF-8")

       相当于服务端解析:<%@   page   contentType="text/html;charset=UTF-8"   %> 

3、response.setLocale(new java.util.Locale("zh","CN"))

  
下面来分析一下三种方法之间的不同之处:

第一种方法只能用来设置out输出流中所采用的编码,但是他的优先权最高,可以覆盖后两种方法中的设置;

第二中方法即可以设置out输出流中字符的编码方式,也可是设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,但高于第三种方法;

第三种方法也只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经用前两种方法之一设置了编码方式以后,它就被覆盖而不起作用了。




以上是关于涉及JSPServlet的页面编码问题的主要内容,如果未能解决你的问题,请参考以下文章

jsp

jsp入门

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

69期-Java SE-045_JSP-2

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

jsp运行原理