JAVA中中文乱码问题

一,html

    Java源文件中极可能包含中文,而Java和JSP源文件保存的方式是基于字节流的。若是Java或JSP编译成class文件过程当中,使用的编码方式和源码方式不一致,则会出现乱码。在HTML页面中,因为页面编码和浏览器的编码方式不一样,也会出现乱码。
java

    1,结果HTML中中文乱码问题
mysql

    在每一个HTML页面中的<head></head>标签中增长
web

<head>
    <META http-equiv=Content-Type content="text/html;charset=utf-8">
</head>

    2,解决jsp中中文乱码问题
spring

    pageEncoding是jsp文件自己的编码,contextType的charset是服务器传送给客户端的内容编码
sql

<%@ page language="java" contextType="text/html" charset="utf-8" pageEncoding="utf-8"%>

    3,解决页面数据传输乱码问题
数据库

    采用编码过滤器来解决,设置一个过滤器,把全部的编码都统一浏览器

<!--定义编码过滤器-->
<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacerEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

       4,HTTP(post)中出现乱码
服务器

        在servlet页面中添加
app

response.setCharacterEncoding("utf-8") ;

    5,HTTP(get)中出现乱码

    若是是get,须要获取请求的字符串,将字符串进行转换,同时须要知道源码

//获取请求的字符串
String str = resquest.getParameter("param") ;
str = new String(str.getBytes("ISO-8859-1"),"UTF-8") ;

    6,MySql数据库中中文问题

    解决MySql数据库中的中文问题,主要在JDBC的驱动url中添加

jdbc:mysql://localhost:3306/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8
相关文章
相关标签/搜索