用servlet时 网页显示乱码

[b]HTML文件中的设置:[/b]

servlet 中读取:request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
System.out.println("name"+name);//输出的是乱码,请问是什么问题?
[b]问题补充:[/b]
我将Tomcat修改成:
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

但是String name = request.getParameter("name");
System.out.println("name"+name);//输出的中文的前四个字符正确,后面的是?号了

使用java方法:
笔记本电脑 repalce with URLEncoder.encode("笔记本电脑","UTF-8");

使用javascript方法:
eascap("笔记本电脑")