【Java AWT 图形界面编程】IntelliJ IDEA 乱码问题最佳配置方案 ( 配置文件编码 | 配置编译器编码参数 | 配置运行时编码参数 )

news2024/11/24 20:52:49

文章目录

  • 一、IntelliJ IDEA 乱码问题
  • 二、IntelliJ IDEA 乱码问题最佳配置方案
    • 1、文件编码设置成 UTF-8
    • 2、编译器编码参数设置成 UTF-8
    • 3、 配置运行时编码参数为 GBK





一、IntelliJ IDEA 乱码问题



在 IntelliJ IDEA 中开发 AWT / Swing 图形界面程序 , 经常遇到乱码问题 ;

  • 文件编码问题: Java源代码或配置文件的编码格式与程序实际运行环境的编码格式不一致,导致在程序运行时出现乱码。解决方法是将Java源代码和配置文件的编码格式与实际运行环境一致,通常建议使用UTF-8编码。
  • 数据库编码问题: 当Java程序与数据库进行数据交互时,如果数据库编码格式与Java程序使用的编码格式不一致,也会出现乱码。解决方法是将数据库编码格式与Java程序使用的编码格式保持一致。
  • 网络传输编码问题: 当Java程序通过网络传输数据时,如果发送方和接收方使用的编码格式不一致,也会出现乱码。解决方法是在数据传输过程中,使用统一的编码格式进行转换。
  • 中文操作系统乱码问题: 当Java程序运行在中文操作系统上时,如果操作系统的编码格式与Java程序使用的编码格式不一致,也会出现乱码。解决方法是将操作系统的编码格式与Java程序使用的编码格式保持一致。




二、IntelliJ IDEA 乱码问题最佳配置方案




1、文件编码设置成 UTF-8


在 IntelliJ IDEA 中开发 Java 程序 , 文件编码必须是 UTF-8 , 否则将会出现各种问题 , 因为程序与数据库 , 网络进行交互 , 外部的数据库 , 网络服务器 , 几乎都使用 UTF-8 编码 , 如果使用 GBK 等 Windows 编码 , 会导致无法与外界进行沟通 , 对方接收到的都是乱码 ;

选择 " 菜单栏 / File / Settings " 选项 ,

在这里插入图片描述

打开 " Editor / File Encodings " 选项 , 所有的编码 , 一律配置成 UTF-8 ;

在这里插入图片描述


2、编译器编码参数设置成 UTF-8


选择 " 菜单栏 / File / Settings " 选项 ,

在这里插入图片描述

在 Settings 对话框中 , 打开 " Build, Execution, Deployment " 选项 , 在其中的 " Additional command line parameters " 中设置

-encoding utf-8

参数 ;

在这里插入图片描述


3、 配置运行时编码参数为 GBK


点击 运行按钮 的拉下菜单 , 选择 " Edit Configurations " 选项 ,

在这里插入图片描述

点击 " Modify options " , 勾选 " Add VM options " 选项 ,

在这里插入图片描述

在 " Add VM options " 选项配置框中 , 配置

-Dfile.encoding=GBK

参数 , 即可在 Windows 中运行 ;

如果在 Linux / Mac 中运行 , 将其配置为

-Dfile.encoding=UTF-8

参数即可 ;

在这里插入图片描述


上述配置 , 在 Windows 中运行 Java 程序是正常的 , AWT 图形界面显示正常中文 ;

但是在 IntelliJ IDAE 中的命令行中显示乱码 ;

设置

-Dfile.encoding=UTF-8

运行参数 , 在 IntelliJ IDAE 中的命令行中 显示正常 , 在 AWT 图形界面中显示方块乱码 ;

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

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

相关文章

博文的跑路笔记

HTML CSS Flex布局 使用flex布局 容器 .box {display: flex; }行内元素 .box {display: inline-flex; }flex布局后,float、vertical-align、clear失效。 容器属性 flex-direction:主轴方向 属性值 row:子元素起点在左,左到右。…

初级面试问到rabbitMQ,看这一篇文章就够了!

一、rabbitMQ的基础要点回顾 1.使用场景 1)解耦:使用消息队列避免模块间的直接调用。将所需共享的数据放在消息队列中,对于新增的业务模块,只要对该类消息感兴趣就可以订阅该消息,对原有系统无影响,降低了…

防范化解灾害风险,科技筑牢安全城墙

气象灾害:大气圈变异活动会对人类生命财产和国民经济及国防建设等造成的直接或间接损害。我国气象灾害种类繁多,不仅包括台风、暴雨、冰雹、大风、雷暴、暴风雪等天气灾害,还包括干旱、洪涝、持续高温、雪灾等气候灾害。此外,与气…

Docker中部署监控

Docker概念 一、部署Prometheus+grafana环境 1.1 、部署Prometheus+grafana环境 docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 lhrbest/lhrprometheus:1.01.2 、创建镜…

【分布式事务】Seata 之 @GlobalTransactional 在TM侧的核心逻辑

文章目录 一、概述二、GlobalTransactional核心逻辑三、GlobalTransactional核心源码解读四、事务能力的启停运行期的开关变更 一、概述 Seata 依赖 Spring 的注解机制,实现声明式事务,即开发者给 Bean 使用GlobalTransactional注解 ,Seata …

深度学习03-卷积神经网络(CNN)

简介 CNN,即卷积神经网络(Convolutional Neural Network),是一种常用于图像和视频处理的深度学习模型。与传统神经网络相比,CNN 有着更好的处理图像和序列数据的能力,因为它能够自动学习图像中的特征&…

GIS 根据投影坐标点获取投影坐标所属的投影坐标系EPSG

什么是EPSG? EPSG(The European Petroleum Survey Group,官网 http://www.epsg.org/)维护着空间参照对象的数据集,OGC标准中空间参照系统的SRID(Spatial Reference System Identifier)与EPSG的空间参照系统ID相一致。…

冒泡数组实现和冒泡数组的改进以及插入法排序

概念 在数组排序的过程中&#xff0c;每次比较相邻的两个数&#xff0c;并且把大的数放在后面 例如{1&#xff0c;3&#xff0c;5&#xff0c;7&#xff0c;9&#xff0c;2&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;10} 实现 #include<iostream> using names…

修改ro.debuggable用于调试安卓应用

一.Root 网上有很多root教程,这里推荐: 玩机必看&#xff01;带你入坑安卓刷机&#xff0c;小白也能看懂的ROOT基础指南来啦&#xff01; 很详细的介绍了Root的原理和方法,强烈推荐使用Magisk工具 可以使用命令adb shell getprop ro.debuggable查看ro.debuggable的值 二.Magi…

[MYSQL / Mariadb]数据库学习-表结构、键值(普通索引、主键、外键)

数据库学习-表结构、键值 回顾数据类型表结构字段约束条件&#xff08;限制字段赋值的&#xff09;例&#xff0c;建表并设置约束条件设置default列为0 修改表结构例添加新字段&#xff0c;并设置位置。修改字段类型change 修改字段名注意&#xff1a;在修改字段名或字段类型时…

Java中的 stop the world是什么?

一、概述&#xff1b; 从字面上讲&#xff0c;就是停止这个世界&#xff0c;看到这个字眼&#xff0c;就觉得这是可怕的事情&#xff0c;那到底什么是stop-the-world&#xff1f; stop-the-world&#xff0c;简称 STW&#xff0c;指的是 GC 事件发生过程中&#xff0c;会产生…

面试题30天打卡-day26

1、什么是 AOP&#xff1f;Spring AOP 和 AspectJ AOP 有什么区别&#xff1f;有哪些实现 AOP 的方式&#xff1f; AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是一种编程思想&#xff0c;可以在不修改原有业务逻辑代码的情况下&#xf…

srs 直播连麦环境搭建

一、简介 二、修改conf/rtc.conf 三、两个客户端加入房间 四、合流 4.1分别拉流尝试 4.2合流推流 4.3拉取合流 一、简介 直播连麦是指在one2one或one2many进行音视频通话&#xff0c;此时把他们的音视频流合在一起&#xff0c;通过rtmp等协议推送给大量用户做直播。 因此首选需…

Java面试(3)基础语法

基础语法 1. 标识符和关键字的区别是什么&#xff1f; 在我们编写程序的时候&#xff0c;需要大量地为程序、类、变量、方法等取名字&#xff0c;于是就有了 标识符 。简单来说&#xff0c; 标识符就是一个名字 。 有一些标识符&#xff0c;Java 语言已经赋予了其特殊的含义…

python带你用最简单嘚词云图分析出最热话题

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 平常我们爬的评论、弹幕等等&#xff0c;数量又多又密&#xff0c;根本看不过来&#xff0c; 这时候数据分析的作用来了&#xff0c; 今天我们就试试用Python根据这些数据&#xff0c;来绘制词云图进行热词分析。 目录…

JUC-线程Callable使用与FutureTask源码阅读

JUC-线程Callable使用与FutureTask源码阅读 Callable简单使用 带返回值的线程(实现implements Callable<返回值类型>)&#xff0c;使用示例 import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Fut…

STC32G12K128单片机的 moubus-rtu 主机测试工程

简介 STC32G12K128 是STC 推出的一款32位的 C251 的单片机。最近拿到一块官方申请的 屠龙刀-STC32G开发板&#xff0c;就用它的提供的库函数&#xff0c;查考安富莱提供的 modbus 例程移植了一个 modbus-rtu 主站的工程。 modbus-rtu host 移植注意点 modbus-rtu 功能配置 …

MapReduce序列化【用户流量使用统计】

目录 什么是序列化和反序列化&#xff1f; 序列化 反序列化 为什么要序列化&#xff1f; 序列化的主要应用场景 MapReduce实现序列化 自定义bean对象实现Writable接口 1.实现Writable接口 2.无参构造 3.重写序列化方法 4.重写反序列化方法 5.顺序一致 6.重写toStri…

您应该查看的5个ChatGPT WordPress插件

要创建免费网站&#xff1f;从易服客建站平台免费开始 500M免费空间&#xff0c;可升级为20GB电子商务网站 您应该查看的5个ChatGPT WordPress插件 发布于 2023年4月1日 ChatGPT 席卷了数字世界。作为内容创建者或营销者&#xff0c;您可能希望通过在您的网站上使用ChatGPT…

JimuReport - 积木报表(一款免费Web报表工具)

一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报表设计。…