解决HttpServletResponse输出中文乱码问题
生活随笔
收集整理的這篇文章主要介紹了
解决HttpServletResponse输出中文乱码问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先,response返回有兩種,一種是字節(jié)流Outputstream,一種是字符流Printwriter。
申明:這里為了方便起見,所有輸出都統(tǒng)一用UTF-8編碼。
先說字節(jié)流,要輸出“中國”,給輸出流的必須是轉(zhuǎn)換為utf-8的“中國”,還要告訴瀏覽器,用utf8來解析數(shù)據(jù)
//讓瀏覽器用utf8來解析返回的數(shù)據(jù) response.setHeader("Content-type", "text/html;charset=UTF-8"); String data = "中國"; OutputStream out = response.getOutputStream(); //使得放入流的數(shù)據(jù)是utf8格式 out.write(data.getBytes("UTF-8")); out.flush(); out.close();再說字符流,要輸出中國,需要設(shè)置response.setCharacterEncoding(“UTF-8”);
//讓瀏覽器用utf8來解析返回的數(shù)據(jù) response.setHeader("Content-type", "text/html;charset=UTF-8"); //讓servlet用UTF-8轉(zhuǎn)碼,而不是用默認(rèn)的ISO8859 response.setCharacterEncoding("UTF-8"); String data = "中國"; PrintWriter out = response.getWriter(); out.write(data); out.flush(); out.close();經(jīng)驗(yàn):
1,如果中文返回出現(xiàn)??字符,這表明沒有加response.setCharacterEncoding(“UTF-8”);這句話。
2,如果返回的中文是“烇湫”這種亂碼,說明瀏覽器的解析問題,應(yīng)該檢查下是否忘加
轉(zhuǎn)自:http://blog.csdn.net/simon_1/article/details/9092747
總結(jié)
以上是生活随笔為你收集整理的解决HttpServletResponse输出中文乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 线程学习之条件变量
- 下一篇: AndroidStudio离线使用gra