首页 > 代码库 > JSP编码问题
JSP编码问题
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
只有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>
在浏览器中显示:
由于contentType="text/html; charset=GBK"所以浏览器自动选择简体中文编码显示,中文能正确显示,不会出现乱码。如果选择其他的编码方式则中文则会显示为乱码。
比如:
实例二:如果设置contentType="text/html; charset=UTF-8"
浏览器自动选择Unicode编码,正常显示,如果换成其他的编码方式则会出现乱码。
JSP编码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。