zoukankan      html  css  js  c++  java
  • 响应的中文乱码问题

    响应的中文乱码问题

    使用resp向客户端回传数据时,会出现乱码问题。

    解决方案一:

    第一个原因,服务器的编码问题,服务器编码默认是ISO-8859-1,不支持中文,将其设置为UTF-8.

    resp.setCharacterEncoding("UTF-8");
    

    注意:该语句必须放在回传数据之前,即放在下面两句话之前:

            PrintWriter writer=resp.getWriter();
            writer.write("哈哈");
    

    第二个原因,浏览器的编码问题,服务器的编码必须要和浏览器的编码一致才行。通过响应头,设置浏览器的编码方式。

            resp.setHeader("Content-Type","text/html;charset=UTF-8");
    
    package LWB;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    public class ResponceIOServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setCharacterEncoding("UTF-8");
    
            System.out.println(resp.getCharacterEncoding());
            resp.setHeader("Content-Type","text/html;charset=UTF-8");
            PrintWriter writer=resp.getWriter();
            writer.write("哈哈");
        }
    }
    
    

    解决方案二:

    可以只用一条语句就完成上述的对浏览器和服务器的编码格式的修改

    resp.setContentType("text/html;charset=UTF-8");
    
  • 相关阅读:
    tyvj1117 拯救ice-cream
    codevs3410 别墅房间
    codevs1099 字串变换
    codevs1226 倒水问题
    codevs2449 骑士精神
    codevs1225 八数码难题
    Wikioi 3776 生活大爆炸版石头剪子布
    codevs1197 Vigenère密码
    枚举 + exgcd
    C++ 排序引用的优化
  • 原文地址:https://www.cnblogs.com/fate-/p/14793760.html
Copyright © 2011-2022 走看看