乱码解决方案
数据库端:
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;就是显示中文的