解决SpringBoot更新数据到MySQL乱码问题
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
相关文章
- mysql longtext 超时_限制MySQL SELECT结果中longtext字段的长度?
- MySQL主从复制监控:保障秒级数据同步(mysql主从复制监控)
- MySQL中使用NULL值更新数据(mysql赋值null)
- 格式MySQL中存储JSON数据的最佳实践(mysql存储json)
- MySQL如何将日期转换为秒(mysql日期转秒)
- MySQL中的二进制操作指南(mysql二进制数据)
- MySQL中的二进制数据存储与管理(mysql二进制数据)
- 和文本数据深入剖析MySQL:二进制数据与文本数据的比较(mysql二进制数据)
- MySQL实现日期区间查询技巧(mysql查询日期区间)
- MySQL字段长度限制的判断方法(mysql长度判断)
- 重新启动MySQL服务:解决数据库故障的必要步骤!(重新启动mysql)
- MySQL查询:获取最前面的100条记录(mysql查询前100条数据)
- MySQL通过参数化查询实现数据控制(mysql参数化查询)
- MySQL内存授权表详解(mysql中内存授权表)
- Mysql三张表联查,轻松查询所需数据(mysql 三张表查询)
- MySQL同步异常,疑似数据不一致,及时报警(mysql不同步了 报警)
- MySQL安装步骤详解,让你轻松下载安装(mysql下载安装步骤)
- MySQL表无法同步,无法实现数据同步(mysql不能同步表)