又见编码问题之:jsp篇

 继上次mysql遭遇汉字编码问题之后,昨晚再次止步于汉字编码,这次问题出在request的getParameter()方法上,getParameter等方法默认采用ISO8859-1字符集编码进行URL解码,于是当前台jsp界面通过post或者get方式传回汉字编码时,总是乱码,于是要进行转型:

//getParameter等方法默认采用ISO8859-1字符集编码进行URL解码
		String name = request.getParameter("name");
		try {
			name = new String(name.getBytes("ISO-8859-1"), "utf-8");
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		}// 字符转换

 于是第一编码问题解决,第二个问题在于要在jsp界面上显示post/get的参数汉字,可是jsp EL默认的也不是utf-8,那么jsp上怎么去修改编码呢,首先尝试了:

<%@ page contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
%>

 未果,依旧乱码,于是尝试直接去调用页面调转前的servlet中已经编码好的字符,未果,el的常见四种方式似乎都不能调用,有待深究,似乎要得到字符参数的唯一办法是${param.name},可百度谷歌无解决el编码的问题,于是采用原始点的方法,半尝试半摸索的搞定编码问题

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
<html>
	<body>
		<h1>注册成功</h1>
		<!-- param表示从客户端取值 -->
		姓名: <%=new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf-8")%> <br>  
		年龄:${param.age}
	</body>
</html>

 <%= %>中就是解决问题的关键 ,挨踢民工果真很伤神很伤神啊

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值