遇到经典的getParameter中文乱码的问题,网上已经有很多总结和讨论了。
在jsp里调用了*.do?param=name,当name本身的值为中文时,在action里获取时有乱码问题。
调用.do的jsp页面头已经设置过
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
即便在action里设置了
request.setCharacterEncoding
也没有效果。
最后的解决方法:
String str = request.getParameter("param");
改为
String str = new String(request.getParameter("param").getBytes("ISO-8859-1"),"GB2312");