MYSQL各种乱码问题
java连数据库MySQl传输数据时数据库显示乱码
第一步 数据库中的配置
在创建数据库时的配置为
第二步 创建数据表中的配置
在建表时
create table Sales(
id int PRIMARY KEY AUTO_INCREMENT,
Cno int,
Bname char(12),
Snum int not null,
Stime date not null,
state char(8),
bnum int,
foreign key (Cno) references customer(Cno) on delete cascade,
foreign key (Bname) references book(Bname) on delete cascade
)ENGINE= MYISAM CHARACTER SET utf8;
第三步 java连接数据库时URL的配置
在web.xml中的写法
<param-value>jdbc:mysql://localhost:3306/books?useUnicode=true&characterEncoding=UTF-8</param-value>
或者是
jdbc:mysql://localhost:3306/oa1?useUnicode=true&characterEncoding=UTF-8
java连接JSP界面乱码
在jsp文件头上写
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在java的Servlet中的doGet()或doPost()方法中
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
第四步 设置Myeclipse
1. 在Myeclipse上面的window–》Preferences–》workspace(将其中的other选中UTF-8)
2. 右键单击项目–》Properties–》Resource
如果以上步骤都使用过,插入Mysql的中文依旧为问号
尝试修改mysql的my.ini文件
第一步 在mysql运行代码
可以帮助找到mysql的安装路径,从而找到my.ini文件(emmm但是我是靠搜素文件名找到的-_-|||)
show variables like "%char%"
第二步 在my.ini文件中输入代码
打开my.ini文件,如果文件中没有下面这条代码的话,加上去
character-set-server=utf8
如果没有my.ini文件则自己建一个
创建方法
第三步 保存后重启mysql
注意!!!!这里修改完my.ini一定要重启,是通过cmd重启,否则没用。
如何重启参考下面这篇博客
重启Mysql服务的方法
在cmd中执行命令的时候如果显示错误
net start mysql; 服务名无效。
请键入 NET HELPMSG 2185 以获得更多的帮助
解决方法为下面的博客:解决方法
参考博客:
插入数据库中的数据乱码