springboot乱码问题排查思路解析

 更新时间:2023年06月16日 10:02:38   作者:liufenggui  
这篇文章主要为大家介绍了springboot乱码问题排查思路解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

我们在使用springboot项目开发过程中,会遇到中文保存到数据库后出现乱码的问题,这里以mysql为例介绍几个排查思路

1. mysql的数据库表的字符编码格式不是utf-8导致

可以通过以下的语句来查看数据库表的创建语句

show create table tableName;

如果不是UTF-8的,修改表的默认字符集和所有列的字符集语句

ALTER TABLE table_name CONVERT TO CHARACTER SET UTF-8

2. 服务器端编码格式错误,导致存到mysql也是乱码

这个可以通过debug的模式来断点执行,查看在服务端保存前收到的参数值是否是乱码,如果在服务端收到的就是乱码,那要检查下前端传入的字符是否有转成utf-8

3. mysql配置不正确,导致乱码

这个问题是最常遇到的,经常发现有同学忘记了这块的配置,就是在spring.datasource.url的配置中少了 &useUnicode=true&characterEncoding=utf8 的配置

spring.datasource.url = jdbc:mysql://localhost:3306/blog_system?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf8

4. 读取配置文件的变量时,中文显示为乱码 

如有一个test.properties的文件,设置了相应的变量值

tom.age = ${random.int[10,20]}
tom.description = tom的年龄可能是这个数据: ${tom.age}

在程序中读取变量description时,会显示中文乱码

  @Value("${tom.description}")
  private String description;

这时候就需要在配置引用配置文件时,添加encoding="UTF-8"

@PropertySource(value = "classpath:test.properties",encoding = "UTF-8")

以上就是springboot乱码问题排查思路解析的详细内容,更多关于springboot乱码排查的资料请关注脚本之家其它相关文章!

相关文章

  • SpringBoot利用拦截器实现避免重复请求

    SpringBoot利用拦截器实现避免重复请求

    Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。本文就将利用拦截器实现避免重复请求,感兴趣的小伙伴可以了解一下
    2022-11-11
  • 一招教你使用Java执行groovy脚本的两种方式

    一招教你使用Java执行groovy脚本的两种方式

    本文主要介绍了一招教你使用Java执行groovy脚本的两种方式,一种是通过脚本引擎ScriptEngine提供的eval(String)方法执行脚本内容,一种是执行groovy脚本,感兴趣的可以了解一下
    2023-09-09
  • idea中如何使用git进行版本回退详解

    idea中如何使用git进行版本回退详解

    工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,下面这篇文章主要给大家介绍了关于idea中如何使用git进行版本回退的相关资料,需要的朋友可以参考下
    2023-04-04
  • 详解MyBatis多数据源配置(读写分离)

    详解MyBatis多数据源配置(读写分离)

    这篇文章主要介绍了详解MyBatis多数据源配置(读写分离),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Java中将File转化为MultipartFile的操作

    Java中将File转化为MultipartFile的操作

    这篇文章主要介绍了Java中将File转化为MultipartFile的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Java求解两个非负整数最大公约数算法【循环法与递归法】

    Java求解两个非负整数最大公约数算法【循环法与递归法】

    这篇文章主要介绍了Java求解两个非负整数最大公约数算法,结合实例形式分析了java求解最大公约数的实现方法,并附带了循环法与递归法算法思路,需要的朋友可以参考下
    2018-03-03
  • spring boot静态变量注入配置文件详解

    spring boot静态变量注入配置文件详解

    这篇文章主要为大家详细介绍了spring boot静态变量注入配置文件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 一文搞懂Java的ThreadPoolExecutor原理

    一文搞懂Java的ThreadPoolExecutor原理

    都说经典的就是好的,这句话放在Java的ThreadPoolExecutor上那是一点都没错,像现在数据库连接的池化实现,或者像Tomcat这种WEB服务器的线程管理,处处都有着ThreadPoolExecutor的影子,本篇文章将结合源码实现,对ThreadPoolExecutor的原理进行一个深入学习
    2023-06-06
  • springboot2.0整合logback日志的详细代码

    springboot2.0整合logback日志的详细代码

    这篇文章主要介绍了springboot2.0整合logback日志的应用场景分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • java 压缩和解压缩Zip、Jar、Gzip文件实例代码

    java 压缩和解压缩Zip、Jar、Gzip文件实例代码

    本文主要介绍java压缩和解压缩Zip、Jar、Gzip文件的知识,这里整理了相关资料,并附示例代码有兴趣的小伙伴可以参考下
    2016-09-09

最新评论