mysql中文乱码
mysql版本5.7
问题:插入中文乱码
尝试解决:
set names utf8
set character_set_client utf8;
set character_set_results utf8;
以上方法均以失败告终
尝试在创建数据表时指定字符集
create table test(
id int primary key auto_increment,
name varchar(10),
address varchar(10)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
成功插入中文字符,至此第一个问题解决
jdbc使用druid插入中文乱码
首先我们druid的配置文件内容如下
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true&characterEncoding=utf8
username=root
password=123456
initialSize=5
maxActive=10
maxWait=3000
此时我们尝试插入中文数据,用Navicatid查看,可以看到id为4的位置显示为???
解决方法,修改配置文件
在url后面指定字符集characterEncoding=utf8
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true&characterEncoding=utf8
username=root
password=123456
initialSize=5
maxActive=10
maxWait=3000
指定字符集后我们再次尝试修改乱码内容,可以成功修改,中文乱码问题成功解决