springboot连接mysql乱码_解决SpringBoot更新数据到MySQL乱码问题

今天使用SpringBoot 1.4.2,往Mysql数据库插入数据,发现汉字都变成了?,通过下列步骤解决了这个问题。

1.首先怀疑是页面编码有问题,检查STS

0818b9ca8b590ca3270a3433284dd417.png

都是UTF8没有问题。

2.怀疑数据库没有采用UTF8编码。

0818b9ca8b590ca3270a3433284dd417.png

DB也是UTF8格式,没有问题。

3.怀疑Hibernate连接字符串问题。

application.properties修改为通过utf8连接mysql,但是问题依然没有解决。

spring.datasource.url=jdbc:mysql://localhost:3306/byhieg?useUnicode=true&characterEncoding=utf8

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update

multipart.maxFileSize: 10MB

multipart.maxRequestSize: 10MB

4.写一个测试代码,进行测试,看是否会出现乱码。

@RunWith(SpringRunner.class)

@SpringBootTest

public class ManageApplicationTests {

@Autowired

private UserRepository userRepository;

@Test

public void contextLoads() {

}

@Test

public void testEntity() {

User user = new User();

user.setName("jiang1004");

user.setNickname("江江1004");

user.setPassword("123456");

userRepository.save(user);

User user1 = userRepository.findOne(user.getId());

System.out.println("User info:" + user1);

}

}

直接写入依然乱码,判断跟网页没有关系,应该是服务器问题。

5.检查Mysql参数,发现character_set_server为latin1

0818b9ca8b590ca3270a3433284dd417.png

6.修改mysql.ini,然后重启,解决乱码问题。

[mysql]

default-character-set=utf8

[mysqld]

character-set-server=utf8

basedir = D:\\tools\mysql-5.7.16-winx64

datadir = D:\\mysql_data

port = 3306

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值