------------------------ 根本解決方法: Setting->maven->runner VMoptions:-Dfile.encoding=GB2312 或者 -Dfile.encoding=GBK ------------------------ 其他方法: 1. jdbc:mysql://localhost:3306/sheep?characterEncoding=utf-8 連接數(shù)據(jù)庫取數(shù)據(jù)層面 2. idea64.exe.vmoptions(32位的是idea.exe.vmoptions)添加-Dfile.encoding=UTF-8 3. Setting->Editor->File Encodings 設(shè)置UTF-8 4. 設(shè)置windows環(huán)境變量 變量名: JAVA_TOOL_OPTIONS, 變量值:-Dfile.encoding=UTF-8 5. run-->edit configurations VM options一欄:-Dfile.encoding=UTF-8 問題: windows下,idea里,setting-->file encoding改成utf-8后,maven工程System.out.println()控制臺(tái)出現(xiàn)中文亂碼。但java工程不是亂碼。 解決方法: 將jvm默認(rèn)編碼設(shè)置為UTF-8方法一:run-->edit configurations,在需要的類上,VM options里添加
方法二:創(chuàng)建系統(tǒng)環(huán)境變量(一勞永逸): 變量名: JAVA_TOOL_OPTIONS, 變量值:-Dfile.encoding=UTF-8
轉(zhuǎn)自 https://www.cnblogs.com/LinKinSJ/p/9096921.html 原因分析:命令行導(dǎo)致亂碼JAVA_TOOL_OPTIONS用于解決的經(jīng)典問題是使用命令行導(dǎo)致中文亂碼,通過設(shè)置環(huán)境變量JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"一般可以解決。(https://blog.csdn.net/ly199108171231/article/details/85253946) maven工程恰恰是用命令行啟動(dòng)。分析:應(yīng)該是命令行沒有輸入相關(guān)參數(shù),導(dǎo)致了輸出亂碼。 java工程和maven工程里的-Dfile.encoding=UTF-8以下是java工程執(zhí)行時(shí)的命令行,紅色行-Dfile.encoding=UTF-8后面跟著jdk里的包 E:\java\tts9-v2-win-x64\tts9\jdk1\bin\java.exe + + + E:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\deploy.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\access-bridge-jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\cldrdata.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\dnsns.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\jaccess.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\jfxrt.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\localedata.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\nashorn.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\sunec.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\sunjce_provider.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\sunmscapi.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\sunpkcs11.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\ext\zipfs.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\javaws.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\jce.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\jfr.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\jfxswt.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\jsse.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\management-agent.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\plugin.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\resources.jarE:\java\tts9-v2-win-x64\tts9\jdk1\jre\lib\rt.jarD:\IDEAProject\leyou\code\demo7\out\production\test-encoding-java b.Test2 以下是maven工程執(zhí)行時(shí)的命令行(已加入了-Dfile.encoding=utf-8參數(shù)): 沒有加參數(shù),則紅色行里沒有-Dfile.encoding=UTF-8 E:\java\tts9-v2-win-x64\tts9\jdk1\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\IDEAProject\leyou\code\demo7\test-encoding -DarchetypeCatalog=internal -Dmaven.home=D:\java_tool\apache-maven--Dclassworlds.conf=D:\java_tool\apache-maven-\bin\m2.conf + + -Dfile.encoding=UTF--classpath D:\java_tool\apache-maven-\boot\plexus-classworlds-.jar org.codehaus.classworlds.Launcher -Didea.version2019-s D:\java_tool\apache-maven-\conf\settings.xml -Dmaven.repo.local=D:\heima\.m2\repository -Dexec.workingdir=D:\IDEAProject\leyou\code\demo7 -Dexec.executable=E:\java\tts9-v2-win-x64\tts9\jdk1\bin\java.exe exec:exec 檢查jvm默認(rèn)編碼
jvm啟動(dòng)參數(shù)設(shè)置-Dfile.encoding=utf-8注意事項(xiàng):開發(fā)工具里project設(shè)置為utf-8,同時(shí)設(shè)置-Dfile.encoding=utf-8 轉(zhuǎn)自 https://blog.csdn.net/jv_csjh/article/details/78581826 -Dfile.encoding解釋:
轉(zhuǎn)自 https://blog.csdn.net/belalds/article/details/80811824 mac系統(tǒng)中,Jar Launcher.app啟動(dòng)jar文件時(shí),file.encoding屬性變成MacRoman轉(zhuǎn)自 https://blog.csdn.net/haixia_12/article/details/42424513 未解決的問題:java工程中,file.encoding無論是gbk還是utf-8,控制臺(tái)都不會(huì)中文亂碼。 idea和cmd已做實(shí)驗(yàn)驗(yàn)證。 |
|
|