zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

解决SpringBoot更新数据到MySQL乱码问题

mysqlSpringBoot数据 解决 更新 乱码 问题
2023-09-14 08:57:51 时间

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

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

 

 


怀疑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

  

 

写一个测试代码,进行测试,看是否会出现乱码。 
@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("中国");
    user.setNickname("中国1004");
    user.setPassword("123456");
    userRepository.save(user);

    User user1 = userRepository.findOne(user.getId());  
    System.out.println("User info:" + user1);  
} 

  

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

 


检查Mysql参数,发现character_set_server为latin1 

 

修改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