解决jsp页面传值乱码问题

第一大类,检查一下数据的提交方式是否是以post形式提交,如果原来的method是以默认的形式提交那么请改成post。

第二大类,如果你非要用get方式提交数据,那么,你需要将

页面设置转码的:
页面:(.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
response.setContentType("text/html;charset=UTF-8");
并在处理文件:(.java)
转码的三种方法:
A 接受参数时进行编码转换

String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。

B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用
String str = request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。

这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。

C 为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp进行编码处理。

新手可以暂时不考虑过滤器的方法,过滤器一般都会涉及到配置开发,要修改web.xml,还算是比较麻烦的,建议接触java一段时间后再考虑使用过滤器的方法。或者如果应用了struts框架,可以查看struts的转码过滤器配置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值