這是我在與Servlet進行數據交互時遇上的,response.getWriter().write("")寫中文就會亂碼,去網上查詢解決方法,是在開頭加上這兩句:
response.setCharacterEncoding("utf-8"); //設置 HttpServletResponse使用utf-8編碼 response.setHeader("Content-Type", "text/html;charset=utf-8"); //設置響應頭的編碼
這里設置相應頭是為了通知客戶端或瀏覽器使用的編碼方式。但我加上這兩句后還是不行,最后發現是eclipse在創建servlet時會在開頭有一句
response.getWriter().append("Served at: ").append(request.getContextPath());
我一直把這句話忽略了,那兩句語句必須添加response.getWriter()調用之前,而我添加在了它的后面,在所以添加了那兩條語句也不管用,之后把那兩句語句加到它之前,問題就解決了。