最近写好的web项目打算打包在Linux环境下运行,在虚拟机装JDK、Tomcat
MySQL后,数据库连接也成功了,但是运行项目的时候,连接windows环境下
的MySQL数据库项目运行正常,连接Linux环境下的MySQL数据库运行项目时中文会出现乱码,查了一下说的是数据库字符集的问题。
windows下:
linux下:
查了下网上的解决方案:
1.修改配置文件/etc/my.cnf
2.将my-medium.cnf 移动到etc 并且改名为my.cnf
但问题是。。。。我没有找到这两个文件阿,那怎么更改字符集呢?
首先,修改MySQL字符集确实可以解决中文乱码的问题。
对于 CentOS7 下的 MySQL5.7.28,可以通过以下步骤更改字符集为 UTF-8:
sudo vim /etc/my.cnf
如果该文件不存在,可以使用以下命令创建:
sudo cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect='SET NAMES utf8'
sudo systemctl restart mysqld
请注意:如果在修改前已经创建了数据库和表,更改字符集后需要手动修改数据库和表的字符集。可以使用以下命令进行修改:
ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
这样,数据库和表的字符集就会被修改为 UTF-8。希望这个解答能够解决你的问题。