servletRequest中文乱码问题

提交表单post提交方式如下

    用户名2:<input type="text" name="username2"><br/>

    <input type="submit" value="register">

</form>

Servlet doPost方法如下:
request.setCharacterEncoding("UTF-8");
String username2 = request.getParameter("username2");
System.out.println(username2);

为何显示的仍然是???
另外,如果我把提交方式改成GET,在doGet方法中,我这么做:
String username2 = request.getParameter("username2");
String name2 = new String(username2.getBytes("iso8859-1"), "utf-8");
System.out.println(name2);
为何仍然是???
求大神解答

Request.set....
Response.setC..你把response给掉了。。。

jsp页面的编码是什么呢

从前端传过来的字符串编码不是UTF-8的,doPost拿到乱码。
doGet获取的username2是不是乱码,如果是乱码,你再怎么转都是乱码。

最保险的方法,是写一个监听器,对每一次request和response都进行转码。可以自己写一个servlet或者
直接用springmvc里的

查看下jsp页面的编码是什么?如果是utf-8,则在后台servlet中设置编码,保持编码一致即可。

response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");

最好设置一个全站的过滤器来处理编码

request.setCharacterEncoding("UTF-8");

写上更保险啊,还有一种是在tomcat里,修改编码,应该是在server.xml 里有一个URLRecode,你百度然后改一下!在web.xml里也最好配置一下