输出中文乱码的问题
向頁面輸出中文(亂碼問題)字節:ServletOutputStream getOutputStream() 字節輸出流* 字節的輸出中文的亂碼* * 輸出哈羅我的是否亂碼呢?* * 不一定亂碼。* * 解決辦法* * 設置瀏覽器打開文件時所采用的編碼* response.setHeader("Content-Type", "text/html;charset=UTF-8");* * 獲取字符串byte數組時編碼和打開文件時編碼一致。* "哈羅我的".getBytes("UTF-8")PrintWriter getWriter() 字符輸出流* 字符輸出中文是否亂碼呢?* * 肯定亂碼* response緩沖區的編碼,默認值ISO-8859-1* * 設置response緩沖編碼 * response.setCharacterEncoding("UTF-8");* * 設置瀏覽器打開文件所采用的編碼* response.setHeader("Content-Type", "text/html;charset=UTF-8");* * 簡寫方式* response.setContentType("text/html;charset=UTF-8");* 總結:response對象輸出中文,產生亂碼。* 字節* 解決方案* 設置瀏覽器打開文件時采用的編碼response.setHeader("Content-Type", "text/html;charset=UTF-8");* 獲取字符串的byte數組采用的編碼"哈羅我的".getBytes("UTF-8")* 字符* 解決方法* 設置瀏覽器打開文件時采用的編碼response.setHeader("Content-Type", "text/html;charset=UTF-8");* 設置response緩沖區的編碼response.setCharacterEncoding("UTF-8");* 簡寫的方式(等于上面的兩句)* response.setContentType("text/html;charset=UTF-8");
response開發細節
向客戶端輸出字符中文的簡寫方式
response.setContentType("text/html;charset=UTF-8");
package cn.learn.response;import java.io.IOException; import java.io.OutputStream;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 輸出中文的亂碼的問題* @author Administrator**/ public class OutServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {run2(response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}/*** 字符輸出中文是否亂碼呢?* * 肯定亂碼* response緩沖區的編碼,默認值ISO-8859-1* * 設置response緩沖編碼 * response.setCharacterEncoding("UTF-8");* * 設置瀏覽器打開文件所采用的編碼* response.setHeader("Content-Type", "text/html;charset=UTF-8");* * 簡寫方式* response.setContentType("text/html;charset=UTF-8");* * @param response* @throws IOException*/public void run2(HttpServletResponse response) throws IOException{// 設置response緩沖區的編碼//response.setCharacterEncoding("UTF-8");// 設置瀏覽器打開文件所采用的編碼//response.setHeader("Content-Type", "text/html;charset=UTF-8");// 簡寫的形式(等于上面兩句)response.setContentType("text/html;charset=UTF-8");response.getWriter().write("哈羅臥得");}/*** 字節的輸出中文的亂碼* * 輸出哈羅我的是否亂碼呢?* * 不一定亂碼。* * 解決辦法* * 設置瀏覽器打開文件時所采用的編碼* response.setHeader("Content-Type", "text/html;charset=UTF-8");* * 獲取字符串byte數組時編碼和打開文件時編碼一致。* "哈羅我的".getBytes("UTF-8")* @throws IOException */public void run1(HttpServletResponse response) throws IOException{// 設置瀏覽器打開文件時編碼response.setHeader("Content-Type", "text/html;charset=UTF-8");// 獲取字節輸出流OutputStream os = response.getOutputStream();// 輸出中文os.write("哈羅我的".getBytes("UTF-8"));}}?
總結
- 上一篇: 禁用浏览器的缓存
- 下一篇: request对象简介和获取客户机信息