起初遇到這個問題,網上幾乎所有的建議都是:
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!");刪掉,就好了!