2401Idea用GradleKotlin编译Java控制台中文出乱码解决

news2024/10/7 14:24:55

解决方法

解决方法1

在项目 build.gradle.kts 文件中加入

tasks.withType<JavaCompile> {
	options.encoding = "UTF-8"
}
tasks.withType<JavaExec> {
	systemProperty("file.encoding", "utf-8")
}

经测试, 只加

tasks.withType<JavaExec> {
	systemProperty("file.encoding", "utf-8")
}

就解决了

解决方法2

构建工具选"IntelliJ IDEA"后解决

在这里插入图片描述

解决方法3

在启动JavaJvm的参数选项中加入 Dfile.encoding=UTF-8 选项 :
比如修改gradle安装目录下的bin目录下的gradle.bat文件 .
GRADLE_HOME/bin/gradle.batDEFAULT_JVM_OPTS 选项
比如修改之前为:

set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" "-javaagent:%APP_HOME%/lib/agents/gradle-instrumentation-agent-8.5.jar"

修改后为:

set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" "-javaagent:%APP_HOME%/lib/agents/gradle-instrumentation-agent-8.5.jar" "Dfile.encoding=UTF-8"

实例截取

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
::原先的 set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" "-javaagent:%APP_HOME%/lib/agents/gradle-instrumentation-agent-8.5.jar"
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" "-javaagent:%APP_HOME%/lib/agents/gradle-instrumentation-agent-8.5.jar" "Dfile.encoding=UTF-8"




过程

控制台中文出现乱码
在这里插入图片描述

��ѹVoltage=229.5
����Current=358
����Power=48.8
��������PowerFactor=0.59
Ƶ��Frequency=50
�¶�Temperature=20

此时的状态, java文件本身时UTF-8的,
这三处的文件编码都选了UTF8,但还是乱码
在这里插入图片描述

在这里插入图片描述

在项目 build.gradle.kts 文件中加入

tasks.withType<JavaCompile> {
	options.encoding = "UTF-8"
}

未能解决

在idea安装目录 idea64.exe.vmoptions文件中加入-Dfile.encoding=UTF-8 依旧无效 , 因为此时是用本地的gradle来编译,不是idea自身来编译
在这里插入图片描述

-Dkotlinx.coroutines.debug=off

添加后的的 idea64.exe.vmoptions

-Xms128m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:+IgnoreUnrecognizedVMOptions
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend
-ea
-Dsun.io.useCanonCaches=false
-Dsun.java2d.metal=true
-Djbr.catch.SIGABRT=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off

仍然未解决 , 因为此时是用本地的gradle来编译,不是idea自身来编译

将构建工具选"IntelliJ IDEA"后解决

在这里插入图片描述
选择用idea编译后,解决了.但不甘心,为什么用gradle构建不行呢?

其实,此时无论idea和gradle编译出的class都是UTF-8的了, 那么问题在哪呢?

查看javaSystem的file.encoding属性
在程序中加入一句 System.out.println(System.getProperty("file.encoding"));

System.out.println(System.getProperty("file.encoding"));

发现结果时GBK!!! (构建工具选"IntelliJ IDEA"时是"UTF-8" , 选"Gradle时是"GBK" )

于是在项目 build.gradle.kts 文件中加入

tasks.withType<JavaExec> {
	systemProperty("file.encoding", "utf-8")
}

解决了

原因

由Gradle8.5启动的jvm环境会使用操作系统的字符集GBK,引起了乱码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于单片机的智能燃气灶控制系统设计

摘要&#xff1a;针对传统燃气灶存在不能防干烧、不能进行温度检测、不能进行火力自动调节等问题&#xff0c;设计了一种基于单片机控制的智能燃气灶&#xff0c;它通过单片机进行控制&#xff0c;由开关模块、测温模块、语音播报模块、火力控制模块和防空烧模块五个模块组成&a…

Lazysysadmin

信息收集 # nmap -sn 192.168.1.0/24 -oN live.port Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-30 21:10 CST Nmap scan report for 192.168.1.1 (192.168.1.1) Host is up (0.00075s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nma…

Flutter解析后台发来的jwt字段数据,了解jwt是否过期

前言 了解JWT是什么可以看这一篇博文 JWT&#xff08;JSON Web Token&#xff09;详解以及在go-zero中配置的方法-CSDN博客 流程 采用jwt_decoder库 添加至pubspec.yaml jwt_decoder: ^2.0.1 解析字段 查看是否过期 获取过期时间和token颁发的年龄

面试八股文(2)

文章目录 1.ArrayList和LinkedList区别2.HashMap和HashTable区别3.线程的创建方式4.Java中异常处理5.Java序列化中某些字段不想进行序列化&#xff1f;6.Java序列化7.静态方法和实例方法8.List、Set、Map三者区别9.ArrayList和Vector区别10.HashMap和HashSet区别 1.ArrayList和…

【C++】 C++入门— 基于范围的 for 循环

C 基于范围的for循环1 使用样例2 使用条件3 完善措施 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;下一篇文章见&#xff01;&#xff01;&#xff01; 基于范围的for循环 1 使用样例 使用for循环遍历数组&#xff0c;我们通常这么写&#xff1a; …

博云科技与中科可控全面合作,探索前沿金融科技新机遇

2024年1月26日&#xff0c;博云科技与中科可控在昆山高新区成功举办合作签约仪式。昆山市委常委、昆山高新区党工委书记孙道寻、中科可控董事长聂华、博云科技董事长花磊等领导出席了本次签约仪式。 中科可控将利用其在先进计算和智造领域的优势&#xff0c;为博云科技提供有关…

el-table添加(取消,确认)

点击添加输入添加项&#xff0c;但是不想添加了&#xff0c;就点击取消&#xff0c;但是在打开之前输入的数据还在&#xff0c;在点击取消的时候数据清空 页面 数据没有清空的时候&#xff0c;点击取消之后&#xff0c;在打开数据还在 数据清空之后&#xff0c;在打开数据是没…

寒假作业2月2号

第一章 命名空间 一&#xff0e;选择题 1、编写C程序一般需经过的几个步骤依次是&#xff08;C &#xff09; A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据有关…

为期 90 天的免费数据科学认证(KNIME)

从 2 月 1 日开始&#xff0c;KNIME 官方将免费提供 KNIME 认证 90 天。 无论您是刚刚迈入数据科学领域、已经掌握了一些技术&#xff0c;还是正在构建预测模型&#xff0c;都可以参加为期 90 天的 KNIME 认证挑战赛&#xff0c;完成尽可能多的认证并获得数据科学技能免费认证。…

嵌入式系统学习(一)

嵌入式现状&#xff08;UP经历&#xff09;&#xff1a; 大厂的招聘要求&#xff1a; 技术栈总结&#xff1a; 产品拆解网站&#xff1a; 52audio 方案查询网站iotku,我爱方案网&#xff0c; 主要元器件类型&#xff1a;

二分查找------蓝桥杯

题目描述&#xff1a; 请实现无重复数字的升序数组的二分查找 给定一个元素升序的、无重复数字的整型数组 nums 和一个目标值 target&#xff0c;写一个函数搜索 nums 中的target&#xff0c;如果目标值存在返回下标 (下标从0 开始)&#xff0c;否则返回-1 数据范围: 0 < l…

哇塞,这几种Java文件读写性能差距居然这么大?

引言 这是一篇性能比较的文章&#xff0c;不分析实现原理。主要是对比Java几种常见的文件写入方式 测试代码 主要分析Stream、StreamBuffer和mmap三种方式&#xff0c;对应的大致代码如下 public static void testBasicFileIO(List<Persona> list, String path) throw…

Flume搭建

压缩包版本&#xff1a;apache-flume-1.9.0-bin.tar 百度盘链接&#xff1a;https://pan.baidu.com/s/1ZhSiePUye9ax7TW5XbfWdw 提取码&#xff1a;ieks 1.解压 tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/ 2. 修改文件名 [rootbigdata1 opt]…

Chatglm3+langchain智能对话,本地文本库构建问答,图片文本库构建与问答搜索

Chatglm3langchain 主要功能&#xff1a; 调用语言模型将不同数据源接入到语言模型的交互中允许语言模型与运行环境交互 Langchain应用场景 **1. 文档问答&#xff1a;**常见的Langchain用例。在特定文档上回答问题&#xff0c;仅利用这些文档中的信息来构建问答答案&#…

KNIME 节点之战(Game of Nodes)锦标赛

“Hark! I summon thee to a contest of nodes. Art thou endowed with the courage for the encounter?” “听着&#xff01;我在此邀请你加入一场节点之战。你有勇气面对吗&#xff1f;” 官方链接 活动概要与参赛守则 诚邀您加入 KNIME 节点之战 —— 首届全球工作流挑战大…

无心剑小诗《致敬任正非》

致敬任正非 您是时代的勇者 科技海洋中砥砺前行 目光如炬&#xff0c;坚定而深邃 照亮了华为的路 引领着创新的方向 您是一颗璀璨的星 商业星空中熠熠生辉 您智慧如奔涌之泉 激荡无穷的力量 驱动着华为的发展 创造了无数奇迹 您是一位无畏的勇士 面对困难挑战&#xff0c;永…

MySQL的ACID、死锁、MVCC问题

1 ACID ACID代表原子性&#xff08;atomicity&#xff09;、一致性&#xff08;consistency&#xff09;、隔离性&#xff08;isolation&#xff09;和持久性&#xff08;durability&#xff09;。一个确保数据安全的事务处理系统&#xff0c;必须满足这些密切相关的标准。 原…

02 - python入门篇

1. python入门 1.1 认识标识符 标识符是由字母、数字和下划线组成标识符的首字符必须是字母或下划线标识符区分大小写 1.2 认识保留字 简单来说就是python把一些字符串在系统中用过了&#xff0c;你后面定义就不能使用人家已经使用过的了。 保留字有哪些 import keyword …

记录一次k8s集群镜像恢复到harbor的过程

之前由于harbor的存储空间不够了&#xff0c;同事干掉了好多镜像&#xff0c;结果把现网生产的镜像也搞掉了。进行了找回操作&#xff0c;这里做下记录。 环境是k8s集群&#xff0c;容器引擎用的containerd。 最初发现这个问题是在增加节点的时候&#xff0c;发现有的节点主机…

蓝桥杯备战——11.NE555测频

1.分析原理图 我们可以看到&#xff0c;上图就是一个NE555构建的方波发生电路&#xff0c;输出方波频率1.44/2(R8Rb3)C,如果有不懂NE555内部结构&#xff0c;工作原理的&#xff0c;可以到B站学习。实在不懂仿真也行&#xff0c;比如我下面就是仿真结果&#xff1a; 然后就是下…