现在的位置: 首页 > 综合 > 正文

Java 乱码问题

2018年02月09日 ⁄ 综合 ⁄ 共 960字 ⁄ 字号 评论关闭

乱码解决方案

数据库端:

Createdatabase mydb default character set utf8;

连接MYSQL时的URL:   

  Jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8

  Mysql的驱动分两个版本,目的是告诉驱动程序在存储db的数据时,所使用的编码。

 

 

HTML:

  <meta http-enquiv ="content=type" content="text/html;charset=utf-8">

告诉浏览器,使用utf8打开该页面。

 

注意:如果charset指定的编码是utf-8。则该HTML文件本身保存的编码格式一定是utf-8(在浏览器)

 

 

Servlet端:

 

 request.setCharaterEncoding("utf-8");

   上面一句是为了和页面提交时的编码一致,解码的编码,即和页面编码一致。

 response.setContentType("text/html;charset=utf-8");

   1作用指定response对发送的字符才用的编码。默认情况下采用的是ISO8859-1

   2 同时指定的浏览器采用什么样的编码来打开该页面。

 

 

 

JSP页面端:

 

 <% @ page contenType=""pageEncoding="utf-8 pageEncoding="utf-8""%>

 

pageEncoding="utf-8"的作用

  1 表示jsp文件保存时所采用的编码。

  2告诉jsp引擎,在将jsp文件转换成.java.时所用的编码是什么,contentType="text/html/charest=utf-8"

 1。让web服务器生成一个http消息头,告诉浏览器一utf-8的编码显示该页面

然后以上操作如果完成,那么想看MYSQL只的中文:

   如果是学员的机器:

      进入MySQL:mysql.default-charcter-set=utf8-uroot-p

      终端设置字符编码utf-8

        那么在select*fromxx;就会显示中文了。

如果是你的机器有乱码:

  set names ghk';

 那么在selevt*from  xx;就是显示中文的

 

抱歉!评论已关闭.