SpringBoot配置⽂件中配置的中⽂,程序读取出来是乱码的解决配置⽂件中是正常显⽰的中⽂,但是spring读取到的确是乱码。
我总共有两种解决办法,
第⼀种⽅法:
先复制或者备份⼀下你的配置⽂件的所有字符,打开设置将transparent native-to-ascii conversion选中,然后返回将之前的配置⽂件重新粘贴⼀遍(⼀定要将中⽂重新打⼀遍)如图:
Transparent native-to-ascii conversion的意思是:⾃动转换ASCII编码。
他的⼯作原理是:在⽂件中输⼊⽂字时他会⾃动的转换为Unicode编码,然后在idea中发开⽂件时他会⾃动转回⽂字来显⽰。
这样做是为了防⽌⽂件乱码。。。
OK,⼤概意思就是这样,这个⽂件你虽然看起来没问题,但是你只要选中了它,他么他现在就是⼀个ASCII⽂件存储在你本地,但是git上的⽂件可不是这个格式,你可以尝试⽤notepad++打开这个本地的.properties⽂件,你会发现他没有中⽂,,
第⼆种⽅法:
这个⽅法呢很简单就是直接在配置⽂件中将中⽂设置为Unicode编码,例如
spring.application-id=\u8863\u9f99\u5ddd
去⽹页⼀个中⽂转成Unicode码的⽹站,直接进⾏转换
补充知识:springboot 项⽬执⾏出现中⽂乱码(从本地运⾏到打war包)
前⾔:中⽂乱码问题
⼀,本地运⾏
就是直接使⽤springboot内嵌的tomcat运⾏出现中⽂乱码的问题
(1)参考如下l的配置⽂件加⼊jvm启动参数。
<jvmArguments>-ding=UTF-8</jvmArguments>
(2)具体加的位置如下
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- spring-boot:run 中⽂乱码解决 -->
<configuration>
<fork>true</fork>
<!--增加jvm参数-->
<jvmArguments>-ding=UTF-8</jvmArguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
⼆,打成war包乱码解决
eclipse设置简体中文问题描述
今天在使⽤ maven 打包spring boot 项⽬上线时,遇到⼀个坑,项⽬本地启动中⽂是没有乱码的,但是当我把打包好的jar ,扔向服务器时运⾏时,中⽂全部乱码,开始还以为是liuxn 本⾝⼀些配置我没有配置好,后来经过测试,打包的jar ⽂件本⾝中⽂就已经乱码,下⾯为本⼈调试修改后可以正常打包可执⾏jar并中⽂不乱码的l配置⽂件。
<!-- spring boot 项⽬打包成可执⾏ jar 包必须添加,打包⽅式到当前项⽬⽬录 cmd 执⾏ mvn clean package -->
<build>
<plugins>
<!-- 打包成可执⾏jar或者war,防⽌中⽂乱码,必须要下⾯这⼀个插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 这⾥为项⽬启动类-->
<mainClass>com.zhenqinl.StartupApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
三,结尾给⼤家⼀个神坑Tomcat报错
严重: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/E:/eclipse-
workspace/.metadata/.plugins
/lipse./tmp1/wtpwebapps/GymSystem/WEB-INF/lib/log4j-api-2.11.1.jar!/] for
at.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19at
at.util.bcel.adConstant(Constant.java:136)at
at.util.bcel.classfile.ConstantPool.<init>
(ConstantPool.java:59)at
at.util.bcel.adConstantPool(ClassParser.java:208)at
at.util.bcel.classfile.ClassParser.parse(ClassParser.java:118)at
org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2055)at
org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931)at
org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfi
g.java:1897)at org.apache.catalina.startup.ContextConfig.pro
本⼈是直接下载⼀个Tomcat解决问题的,出现这个问题就是Tomcat的问题。
以上这篇SpringBoot 配置⽂件中配置的中⽂,程序读取出来是乱码的解决就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论