我是靠谱客的博主 痴情钥匙,最近开发中收集的这篇文章主要介绍Springboot 中文乱码问题检查编译环境的编码:配置JDK全局编码:设置maven打包插件的编码在application.properties文件中加入下面内容在配置类中增加如下代码:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
最近刚好项目上遇到了中文乱码问题,也刚好记录一下
检查编译环境的编码:
File --> Setttings --> Editor --> File Encodings,这下边设置三个地方的编码格式
配置JDK全局编码:
如图在系统环境变量中增加一个变量:JAVA_TOOL_OPTIONS 值为 -Dfile.encoding=UTF-8,如果是项目发布,就在启动的时候加入该JVM 参数
设置maven打包插件的编码
<plugin>
<!--打包成可执行jar-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
在application.properties文件中加入下面内容
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
但是貌似有时候不起作用,因为application.properties 在IDEA中好像有BUG,最好是转为yml文件来设置
如果连接有数据库,注意看数据库里面的编码集以及看看数据快照是否已经是乱码了,而不是应用导致的
以上就是正常来说基本就可以搞定了,如果还有乱码可以继续尝试下面的方式
修改controller的@RequestMapping
produces="text/plain;charset=UTF-8"
在配置类中增加如下代码:
@Configuration
public class CustomMVCConfiguration extends WebMvcConfigurerAdapter {
@Bean
public HttpMessageConverter<String> responseBodyConverter() {
StringHttpMessageConverter converter = new StringHttpMessageConverter(
Charset.forName("UTF-8"));
return converter;
}
@Override
public void configureMessageConverters(
List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
converters.add(responseBodyConverter());
}
@Override
public void configureContentNegotiation(
ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}
最后
以上就是痴情钥匙为你收集整理的Springboot 中文乱码问题检查编译环境的编码:配置JDK全局编码:设置maven打包插件的编码在application.properties文件中加入下面内容在配置类中增加如下代码:的全部内容,希望文章能够帮你解决Springboot 中文乱码问题检查编译环境的编码:配置JDK全局编码:设置maven打包插件的编码在application.properties文件中加入下面内容在配置类中增加如下代码:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复