java插入mysql乱码
java插入数据到mysql分为三层:
● 前端页面
● 后台代码
● 数据库
这三层任意一层乱码都不行,所以我们需要对着三层逐一设置编码格式,保存编码统一就不会乱码了。
详解三层编码设置解决乱码问题
1、前端
前端就是设置页面的字符集
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2、后台代码
1)
a.Windows里面的Preferences(首选项框),在general里面找workspace,右侧有text file encoding,改为utf-8(这个是开发ide的字符集修改)
b.鼠标点击你的项目最顶层,然后在project里面找到这个项目的字符编码,改为utf-8(项目的字符集修改)
2)
代码要在获取数据之前指明request和response的编码类型(我这里都用utf-8)
response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");
设置完成之后,可以这么获取中文字符!
String name = new String(request.getParameter("name").getBytes("utf-8"), "utf-8"))
连接数据库时使用:
jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8
3、数据库
my.ini的文件中的[mysqld]标签中设置:
#做了如下添加[client]default-character-set=utf8character-set-server=utf8init_connect='SET NAMES utf8'
通过以上设置,就不会再出现乱码问题了!
php中文网,大量的免费Java入门教程,欢迎在线学习!