JSP中的<%@page pageEncoding=”UTF-8”%>具体的功能是什么.

当有人问你:JSP中的<%@page pageEncoding=”UTF-8”%>具体的功能是什么?
你答:设置页面编码字符集。没了,那可不太合适,小编在这里详解一下

JSP-> .java文件的翻译过程,由谁执行

是Tomcat(中间件容器)执行的.

那么中间件容器运行在什么环境中

相信有人不太清楚,是运行在你的操作系统中的.

那么操作系统的字符集又是什么呢?

操作系统的字符集是根据具体环境定义的:

如:中国GBK、中国台湾BIG5等等.

Tomcat默认使用ISO-8859-1字符集编译jsp.

JSP提供页面指令,设置页面字符集, 通知中间件容器在翻译JSP的时候,使用什么字符集来翻译.调用JVM编译和解释java代码及字节码文件的时候,使用什么字符集.


例如:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
1.pageEncoding与contentType 中的 charset 的区别
1 jsp pageEncoding 的含义:宏观上指 jsp文件本身的编码 pageEncoding="UTF-8", jsp 文件本身的编码为 UTF-8
2 ) 而 contentType 中的 charset 指的是 服务器发送给客户端时的内容编码 ,
contentType="text/html; charset=UTF-8", 是指服务器发送给客户端的文本类型是text/html ,编码格式是UTF-8
底层:
.jsp 文件被转译成 .java 文件时,  response.setContentType("text/html;charset=ISO-8859-1");
[size=10.5000pt]2. pageEncoding="UTF-8"与pageEncoding="ISO-8859-1"区别
[size=10.5000pt]1)在浏览器上显示,pageEncoding="UTF-8"格式的jsp 页面中的中文没有乱码,而pageEncoding="ISO-8859-1"格式的jsp 页面中的中文有乱码
[size=10.5000pt]2) .jsp 文件被转译成 .java 文件时,pageEncoding="UTF-8"格式的.java 文件中的中文没有乱码,而pageEncoding="ISO-8859-1"格式的.java 文件中的中文有乱码
如下:
代表pageEncoding="ISO-8859-1"格式的.java 文件
          out.write("   \t\tæˆ‘çˆ ± æˆ‘å® \r\n");
      out.write("   \t\t<form action=\"#\">\r\n");
      out.write("   \t\t\tå § “åï ¼ š<input type=\"text\">\r\n");
      out.write("   \t\t\t<input type=\"submit\" value=\"æä º¤ \">\r\n");
代表pageEncoding="UTF-8"格式的.java 文件
  out.write("   \t\t 我爱我家 \r\n");
      out.write("   \t\t<form action=\"#\">\r\n");
      out.write("   \t\t\t 姓名: <input type=\"text\">\r\n");
      out.write("   \t\t\t<input type=\"submit\" value=\" 提交 \">\r\n");
[size=10.5000pt]3) 总结:也因此说明1 )条结论中为什么在浏览器中pageEncoding="ISO-8859-1"格式的jsp 页面中的中文有乱码原因:
在于pageEncoding="ISO-8859-1"格式的.jsp 文件在被转译成 .java 文件时就已经出现乱码,服务器再把乱码的数据响应到浏览器,自然浏览器展示出来的数据也是乱码的。
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值