首页 > Web开发 > 详细

JSP编码问题

时间:2014-10-09 00:10:58      阅读:344      评论:0      收藏:0      [点我收藏+]

JSP的开头内容:

1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2     pageEncoding="UTF-8"%>

JSP引擎将JSP源文件翻译成Servlet源文件默认采用UTF-8编码。JSP开发人员可以采用各种字符集编码来编写JSP源文件,但是必须通过某种方式告知JSP引擎,他所采用的字符集编码,否则JSP引擎把它当作默认的ISO8859-1。这种方式就是设置pageEncoding属性。

page指令的contentType属性除了具有指定响应正文的字符集编码的作用外,它还具有说明JSP源文件的字符集编码的作用。但JSP规范建议使用pageEncoding属性或在部署描述符中说明JSP源文件的字符集编码。

page指令只是通知JSP引擎它的字符集编码,但是真正的编码方式需要在Eclipse中设置Window->Perferences

bubuko.com,布布扣

 

只有JSP真实的字符集编码与pageEncoding指定的字符集编码一致时,JSP引擎才能正常的把它翻译成Servlet文件。

contentType用于设置响应正文的MIME类型,默认MIME类型为text/html,默认字符集为ISO-8895-1.

实例一:

 1 <%@ page language="java" contentType="text/html; charset=GBK"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <p>你好</p>
12 
13 <%
14     out.println("hello 中国.");
15 %>
16 </body>
17 </html>

在浏览器中显示:

bubuko.com,布布扣

由于contentType="text/html; charset=GBK"所以浏览器自动选择简体中文编码显示,中文能正确显示,不会出现乱码。如果选择其他的编码方式则中文则会显示为乱码。

比如:

bubuko.com,布布扣

 

实例二:如果设置contentType="text/html; charset=UTF-8"

bubuko.com,布布扣

浏览器自动选择Unicode编码,正常显示,如果换成其他的编码方式则会出现乱码。

 

JSP编码问题

原文:http://www.cnblogs.com/wanghui390/p/4011833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!