今天在写一个项目的时候,在数据库中手动插入数据不会产生中文乱码,但是通过javaWeb却出现乱码,把提交表单和响应中的乱码问题解决后,还是乱码。所以我锁定一定是我的mysql数据库中出现了乱码的现象。
一、更改数据库安装时的字符编码
打开mysql安装目录,找到my.ini文件,通过使用记事本的方式打开,将这里面的default-character-set=latin1修改成gbk,注意这里面有两处需要修改。(一定要修改两个,我一开始没有注意只修改了一次,还是乱码)
二、从控制台中修改编码
ALTER DATABASE 数据库名 CHARACTER SET utf8;
查看一下当前数据库的编码方式:
show variables like 'character_set_database';
注意:修改了数据库的编码不会影响已经存在表的编码方式。所以也要修改表的编码方式:
ALTER TABLE 表名 CAHRACTER SET utf8;
修改数据库实例编码还可以通过navicat for mysql客户端直接进行更改,在数据库实例上右键--属性--选择字符编码。
三、重启数据库服务
结果: