jsp传递参数中文乱码解决办法

a标签超链接传递参数

可以使用javascript encodeURI方法

<a href = "javascript:location.href=encodeURI('login.jsp?username=张三&password=123456')">登陆</a>
<a href="register.jsp">注册</a>

javascript:调用js函数,location.href=跳转,encodeURI对字符串编码 login.jsp是页面,后面为参数名 可解决。

界面可以成功跳转,把encodeURI括号里面的字符串编码成了这样:http://localhost:8080/ee19_spring_day03_tx4/login.jsp?username=%E5%BC%A0%E4%B8%89&password=123456

不使用js的encodeURI方法Eclipse的内置浏览器会报300的错,谷歌浏览器却不会报错,但是会出现乱码,百度了半天发现超链接传递中文参数可以使用js encodeURL方法传中文

然后还百度到了中文参数接受中文字符的办法(避免乱码)


中文参数接受中文字符

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");

new 一个string类型然后通过getBytes("ISO-8859-1") 获取原来的编码ISO-8859-1就是参数原来的编码 utf-8" 就是设置编码。


然是后即使设置了<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> 编码格式为UTF-8 也会出现中文乱码, 原因可能是jsp文件本身的默认编码格式还是为ISO-8859-1 所以才会造成中文参数传递出现乱码

1488305-20190729222710967-310160754.jpg
jsp文件默认编码格式

可以看到Default Value : text/html; charset=ISO-8859-1 还是为ISO-8859-1 至于怎么修改,还没找到办法

转载于:https://www.cnblogs.com/a1737301376/p/11266945.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值