JiuyeXD's Blog
九叶
九叶博主

越努力 越幸运

登录
夜间

SpringBoot2.0 继承WebMvcConfigurationSupport后返回中文编程 '?'

[post cid=“509” cover=“” size=“”/]

上述文章修改过后 偶尔打包编译完的项目jar包运行起来会给前台返回❓

因为 WebMvcConfigurationSupport 会导致springboot的自动装配编码使用 ISO8859-1,所以我们在往前端扔中文时就乱码了

所以我们需要向application.yml文件中指明字符编码为UTF-8

server:
  tomcat:
    uri-encoding: UTF-8
spring:
  http:
    encoding:
      charset: UTF-8
      enabled: true
      force: true

方案1: 修改项目编码

查明了!!!

问题是我项目的字符集是 System Default !!

image.png

唉…

将其修改为UTF-8之后正常了

题外话

应该也可以修改 pom.xml 文件指定打包时候的编码?

		<!-- 文件拷贝时的编码 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <!-- 插件输出文件时的字符编码 -->
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<!-- 编译时的编码 -->
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>

方案2: 修改maven全局属性

使用 mvn -v 查看 平台编码格式

image.png

只所以出现中文乱码,是因为平台编码格式默认不是UTF-8,而是别的,比如 GBK,从而导致在使用mvn命令打包、安装的时候,使用的是GBK编码格式。 在环境变量中添加 maven参数的环境变量,然后重启CMD窗口或IDE工具。

image.png

THE END