解決SpringBoot更新數據到MySQL亂碼問題


懷疑數據庫沒有采用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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM