起初遇到这个问题,网上几乎所有的建议都是:
response.setHeader("Content-type", "text/html;charset=UTF-8"); //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
response.setCharacterEncoding("UTF-8");
但我这样设了之后发现依然是乱码,好像编码没有改变,于是
response.getWriter().write(response.getCharacterEncoding())
发现结果依然是:ISO-8859-1
后来看到这个网页:http://blog.chinaunix.net/uid-22065871-id-3060392.html
才知道在设定编码之前就调用response.getWriter().write是无效的,于是把代码里之前的response.getWriter().write("Hello World!");删掉,就好了!