乱码问题

来源:互联网 发布:过山车大亨 mac 中文 编辑:程序博客网 时间:2024/06/08 17:06

乱码出现位置

  • 数据 “传递”过程中乱码。
  • 数据 “展示”过程乱码。
  • 数据 “保存”过程乱码。

数据 “保存”过程乱码 ##

  • 最终保存到数据库表中的时候,数据出现乱码
  • 导致数据库过程中的乱码包括以下两种情况:
    ** :在保存之前,数据本身就是乱码。
    ** :保存之前,不是乱码,由于本身数据库不支持简体中文,保存之后出现乱码。

数据 “展示”过程乱码 ##

  • 最终显示到网页上的数据出现中文乱码。
    **:设置响应的的内容类型,以及对应的编码方式。
response.setContentType("text/html;charset=UTF-8");

** :在页面加上:<%@ page contentType="text/html;charset=UTF-8" language="java" %> 或者<meta content="text/html;charset=UTF-8">


数据 “传输”过程乱码 ##

将数据从浏览器发送给服务器的时候,服务器接收的数据是乱码。(对应是ISO-8859-1编码)。

  • 万能方式,既能解决POST请求乱码,又能解决GET请求编码。先将服务器接收的数据采用ISO-8859-1解码,再给定一种支持中文的编码方式重新编码。
        String name = request.getParameter("name");        //解码        byte[] bytes = name.getBytes("ISO-8859-1");        //编码        name = new String(bytes,"UTF-8");
  • 只支持POST请求,因为只对请求体有效。
request.setCharacterEncoding("UTF-8");
  • 专门解决GET请求乱码,修改tomcat目录下conf文件夹下的server.xml
    加上URIEncoding="UTF-8"
0 0
原创粉丝点击