JSP页面中文乱码

JSP文件乱码

每个JSP文件的头部基本上都定义了如下的内容

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="ISO-8859-1"%>

JSP在部署后提供给用户使用,会经过三个阶段:
  1 JSP生成java文件:这个阶段会使用pageEncoding所定义的编码格式进行转换
  2 java文件生成class文件:这个阶段由服务器tomcat自动使用utf-8编码把java文件转换成字节码class文件  
  3 通过读取class文件展现给用户这个阶段由tomcat服务器获取字节码内容,通过使用contentType所定义的编码格式展现给用户。
简单的说:
  charset是指服务器发往客户端展现时的编码;
  pageEncoding用于设置JSP页面本身的编码。

HTML乱码

JSP中包含HTML的内容而HTML本身也是有编码格式的

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

这种乱码只需要检查HTML里面的content是否正确就可以

request乱码

有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码。

  这是因为虽然前面JSP设置了编码格式,却没有在当前的JSP中设置读取数据的编码格式。

  使用下面的代码,就可以是设置request获取请求内容的数据编码:
  request.setCharacterEncoding("utf-8");

乱码的问题就这么多了,因为一个小页面中文乱码的问题浪费了一个下午的时间,真是好气啊.
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值