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");
    
  • 相关阅读:
    c++ 为自定义类添加stl遍历器风格的遍历方式
    C++ 生成随机数
    c/c++ 函数说明以及技巧总结
    XSLT 教程
    C# 高效过滤DataTable 中重复数据方法
    xml获取指定节点的路径
    TreeView控件
    推荐一些C#相关的网站、资源和书籍
    C#多线程操作
    C#二进制序列化
  • 原文地址:https://www.cnblogs.com/fate-/p/14793760.html
Copyright © 2011-2022 走看看