SpringBoot 配置文件中配置的中文,程序读取出来是乱码的解决

 更新时间:2020年09月15日 10:25:50   作者:衣龙川  
这篇文章主要介绍了SpringBoot 配置文件中配置的中文,程序读取出来是乱码的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

配置文件中是正常显示的中文,但是spring读取到的确是乱码。

我总共有两种解决办法,

第一种方法:

先复制或者备份一下你的配置文件的所有字符,打开设置将transparent native-to-ascii conversion选中,然后返回将之前的配置文件重新粘贴一遍(一定要将中文重新打一遍)如图:

Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。

他的工作原理是:在文件中输入文字时他会自动的转换为Unicode编码,然后在idea中发开文件时他会自动转回文字来显示。

这样做是为了防止文件乱码。。。

OK,大概意思就是这样,这个文件你虽然看起来没问题,但是你只要选中了它,他么他现在就是一个ASCII文件存储在你本地,但是git上的文件可不是这个格式,你可以尝试用notepad++打开这个本地的.properties文件,你会发现他没有中文,,

这样可能会导致一个问题,git 提交后中文字符会乱码 https://www.jb51.net/article/195655.htm

第二种方法:

这个方法呢很简单就是直接在配置文件中将中文设置为Unicode编码,例如

spring.application-id=\u8863\u9f99\u5ddd

去网页找一个中文转成Unicode码的网站,直接进行转换

补充知识 :springboot 项目执行出现中文乱码(从本地运行到打war包)

前言:中文乱码问题

一,本地运行

就是直接使用springboot内嵌的tomcat运行出现中文乱码的问题

(1)参考如下pom.xml的配置文件加入jvm启动参数。

<jvmArguments>-Dfile.encoding=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>-Dfile.encoding=UTF-8</jvmArguments>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>springloaded</artifactId>
      <version>1.2.5.RELEASE</version>
    </dependency>
  </dependencies>
</plugin>

二,打成war包乱码解决

问题描述

今天在使用 maven 打包spring boot 项目上线时,遇到一个坑,项目本地启动中文是没有乱码的 ,但是当我把打包好的jar ,扔向服务器时运行时,中文全部乱码,开始还以为是liuxn 本身一些配置我没有配置好,后来经过测试,打包的jar 文件本身中文就已经乱码,下面为本人调试修改后可以正常打包可执行jar并中文不乱码的pom.xml配置文件。

<!-- 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
/org.eclipse.wst.server.core/tmp1/wtpwebapps/GymSystem/WEB-INF/lib/log4j-api-2.11.1.jar!/] for
annotationsorg.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19at
org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:136)at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>
(ConstantPool.java:59)at
org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:208)at
org.apache.tomcat.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 配置文件中配置的中文,程序读取出来是乱码的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 反射修改类的常量值、静态变量值、属性值实例详解

    Java 反射修改类的常量值、静态变量值、属性值实例详解

    在本篇文章里小编给大家整理的是一篇关于Java 反射修改类的常量值、静态变量值、属性值实例详解内容,有兴趣的读者们可以跟着学习下。
    2021-01-01
  • 基于SpringBoot2的Shiro最简配置操作(两个文件)

    基于SpringBoot2的Shiro最简配置操作(两个文件)

    这篇文章主要介绍了基于SpringBoot2的Shiro最简配置操作(两个文件),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java使用JSON实现处理中文乱码和Date格式

    Java使用JSON实现处理中文乱码和Date格式

    这篇文章主要为大家详细介绍了Java如何在项目中使用JSON实现处理中文乱码和Date格式的功能,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2023-06-06
  • SpringBoot中使用Redisson的实现示例

    SpringBoot中使用Redisson的实现示例

    Redission是一个强大的Java库,用于构建和管理分布式系统中的缓存和任务调度,本文主要介绍了SpringBoot中使用Redisson的实现示例,感兴趣的可以了解一下
    2023-12-12
  • 深入理解Java对象的序列化与反序列化的应用

    深入理解Java对象的序列化与反序列化的应用

    本篇文章是对Java中对象的序列化与反序列化进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Java系统中拆分同步和异步详解

    Java系统中拆分同步和异步详解

    这篇文章主要给大家介绍了关于Java系统中拆分同步和异步的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Java必会的Synchronized底层原理剖析

    Java必会的Synchronized底层原理剖析

    synchronized作为Java程序员最常用同步工具,很多人却对它的用法和实现原理一知半解,以至于还有不少人认为synchronized是重量级锁,性能较差,尽量少用。但不可否认的是synchronized依然是并发首选工具,本文就来详细讲讲
    2022-10-10
  • 通过反射注解批量插入数据到DB的实现方法

    通过反射注解批量插入数据到DB的实现方法

    今天小编就为大家分享一篇关于通过反射注解批量插入数据到DB的实现方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • hibernate4快速入门实例详解

    hibernate4快速入门实例详解

    Hibernate是一个轻量级的ORMapping框架,本文重点给大家介绍hibernate4 入门实例详细,需要的朋友参考下吧
    2017-09-09
  • SpringBoot集成Mybatis并测试

    SpringBoot集成Mybatis并测试

    这篇文章主要介绍了SpringBoot集成Mybatis并测试,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02

最新评论