1问题描述
maven项目在向服务器mysql数据库插入中文列时,中文字显示问号,
在网上查看教程,让更改 character-set-server=utf8 一类的,仅仅生效一次,再连接依然出现问号。
2步终极解决办法:
服务器端:
1、修改mysql配置文件/etc/mysql/my.cnf
cd ../etc/mysql
ls
vim my.cnf
my.cnf文末加入:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
Esc
+:wq
保存退出!
重启mysql:
service mysql restart
可再次查看到 utf8永久设置:
用户端
2、连接时字符串设置
- DBManager配置:
加上:characterEncoding=UTF8
public static String dbUrl="jdbc:mysql://127.0.01:3306/smart_lock?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8";
public static String dbUserName="root";
public static String dbPassword="123456";
public static String CLASSNAME="com.mysql.jdbc.Driver";
- maven配置:
jdbc.propreties加上:characterEncoding=UTF8
driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://127.0.0.1:3306/smart_lock?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8
user=root
password=123456
参考地址:mysql中文乱码