SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決
配置文件中是正常顯示的中文,但是spring讀取到的確是亂碼。
我總共有兩種解決辦法,
第一種方法:
先復制或者備份一下你的配置文件的所有字符,打開設置將transparent native-to-ascii conversion選中,然后返回將之前的配置文件重新粘貼一遍(一定要將中文重新打一遍)如圖:
Transparent native-to-ascii conversion的意思是:自動轉換ASCII編碼。
他的工作原理是:在文件中輸入文字時他會自動的轉換為Unicode編碼,然后在idea中發(fā)開文件時他會自動轉回文字來顯示。
這樣做是為了防止文件亂碼。。。
OK,大概意思就是這樣,這個文件你雖然看起來沒問題,但是你只要選中了它,他么他現(xiàn)在就是一個ASCII文件存儲在你本地,但是git上的文件可不是這個格式,你可以嘗試用notepad++打開這個本地的.properties文件,你會發(fā)現(xiàn)他沒有中文,,
這樣可能會導致一個問題,git 提交后中文字符會亂碼 http://www.dbjr.com.cn/article/195655.htm
第二種方法:
這個方法呢很簡單就是直接在配置文件中將中文設置為Unicode編碼,例如
spring.application-id=\u8863\u9f99\u5ddd
去網(wǎng)頁找一個中文轉成Unicode碼的網(wǎng)站,直接進行轉換
補充知識 :springboot 項目執(zhí)行出現(xiàn)中文亂碼(從本地運行到打war包)
前言:中文亂碼問題
一,本地運行
就是直接使用springboot內(nèi)嵌的tomcat運行出現(xiàn)中文亂碼的問題
(1)參考如下pom.xml的配置文件加入jvm啟動參數(shù)。
<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參數(shù)--> <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 本身一些配置我沒有配置好,后來經(jīng)過測試,打包的jar 文件本身中文就已經(jīng)亂碼,下面為本人調試修改后可以正常打包可執(zhí)行jar并中文不亂碼的pom.xml配置文件。
<!-- spring boot 項目打包成 可執(zhí)行 jar 包 必須添加 , 打包方式 找到 當前項目目錄 cmd 執(zhí)行 mvn clean package --> <build> <plugins> <!-- 打包成可執(zhí)行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解決問題的,出現(xiàn)這個問題就是Tomcat的問題。
以上這篇SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java8 stream的多字段排序實現(xiàn)(踩坑)
這篇文章主要介紹了java8 stream的多字段排序實現(xiàn)(踩坑),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03Java異常處理之try...catch...語句的使用進階
這篇文章主要介紹了Java異常處理之try...catch...語句的使用進階,重點在于牽扯相關IO使用時的資源調配情況,需要的朋友可以參考下2015-11-11SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼
這篇文章主要介紹了SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Java數(shù)組中的元素刪除并實現(xiàn)向前移的代碼
這篇文章主要介紹了Java數(shù)組中的元素刪除并實現(xiàn)向前移的代碼的相關資料,需要的朋友可以參考下2016-05-05Spring Boot集成LangChain來實現(xiàn)Rag應用的問題小結
檢索增強生成(RAG)是一種優(yōu)化大型語言模型(LLM)輸出的技術,通過引用權威知識庫以增強模型的準確性和相關性,RAG允許LLM在不重新訓練的情況下訪問特定領域的知識,提高了其在各種應用中的實用性和信任度,感興趣的朋友跟隨小編一起看看吧2024-09-09