当前位置: 首页 > news >正文

java在cmd中乱码的问题解决

本文深入探讨了在使用 Java 命令行(cmd)时可能出现的中文乱码问题,并提供了两种解决方案。首先,通过临时的方式,用户可以执行命令 chcp 936 选择字符集,然后再运行 Java 命令,确保在选择字符集过的 cmd 窗口中可以正常显示中文字符。其次,为了解决问题的根本,文章介绍了永久性的解决方案,通过新建环境变量 JAVA_TOOL_OPTIONS,在 cmd 中确保中文正常显示。这两种方法有效解决了 Java 在 cmd 中可能遇到的中文乱码问题,提供了灵活的解决途径供读者选择。


一、问题描述

如下图所示,我们在 cmd 里输入 java 命令,返回的中文字符乱码。


二、问题分析

在CMD(命令提示符)中执行Java命令时,返回的中文字符出现乱码。这可能是由于默认字符集不兼容导致的。 


三、解决方案 

1、解决方案一(临时)

通过执行 chcp 936 命令,我们可以临时选择合适的字符集。936 代表 GBK 字符集,执行这个命令后,CMD 窗口的字符集被更改,然后再运行 Java 命令,可以看到中文字符正常显示。这是一个实用的解决方案,但是只在当前 CMD 窗口有效。

具体步骤:

  • 执行 chcp 936 命令,选择字符集为 936,即 GBK 编码。
  • 然后再运行 java 命令。

执行这个步骤后,可以看到返回的结果中中文字符显示正常。只要在选择字符集为 936 的 cmd 窗口中,就可以继续正常显示中文。


2、解决方案二(永久)

为了永久解决中文乱码问题,可以通过设置环境变量来配置 Java。

① 检查java基础环境变量

右键点击 "我的电脑",选择 "属性"。

点击 "高级系统设置"。

我们先来检查基础的 Java 环境变量是否已经配置。

检查下列环境变量,如果没有需要补入:

  • 系统变量 JAVA_HOME,变量值为:安装JDK的路径
  • 系统变量 PATH,新建变量值为:安装JDK的路径\bin
  • 系统变量 CLASSPATH,变量值为:. ;

确保这三个环境变量都有的情况下,我们进行下一步操作。


② 新增java选项环境变量

新建一个环境变量,命名为 JAVA_TOOL_OPTIONS,值设置为 "-Dfile.encoding=UTF-8"。

这个环境变量的作用是告诉 Java 虚拟机使用 UTF-8 编码。

保存并关闭系统属性窗口。

现在再启动 cmd,输入 java 命令,应该能够看到运行结果中的中文已经不再乱码。

通过这两种方法,可以根据实际情况选择解决 Java 中文乱码问题的方案,使得在开发和运行 Java 程序时能够正确显示中文字符。


四、中文乱码问题通用思路

中文字符集乱码问题通常涉及文本在编码、传输和显示等环节出现异常,解决这类问题需要一套系统的排查思路。首先,检查文本的编码格式是否一致,确保在所有环节使用相同的字符集,如UTF-8 或 GBK。其次,确认数据传输过程中是否存在乱码,可以通过检查网络传输方式或文件读写过程来排查。第三步,检查数据源和目标系统的字符集设置,确保它们相互匹配。

在排查过程中,还需关注特殊字符和转义字符的处理,以防止其引发乱码。同时,注意文本编辑器和开发工具的默认编码设置,避免因为工具设置不当而导致问题。若问题仍未解决,可使用字符集转换工具对文本进行手动转换,检查是否能够还原正常显示。最后,考虑使用 Unicode 作为字符集,因为其兼容性较好,可以有效减少乱码问题的发生。

总体而言,通过以上一系列的排查步骤,可以更全面地定位和解决中文字符集乱码问题,确保文本能够正确显示和传递。

相关文章:

java在cmd中乱码的问题解决

本文深入探讨了在使用 Java 命令行(cmd)时可能出现的中文乱码问题,并提供了两种解决方案。首先,通过临时的方式,用户可以执行命令 chcp 936 选择字符集,然后再运行 Java 命令,确保在选择字符集过…...

OpenHarmony教程指南—ArkUI中组件、通用、动画、全局方法的集合

介绍 本示例为ArkUI中组件、通用、动画、全局方法的集合。 本示例使用 Tabs容器组件搭建整体应用框架,每个 TabContent内容视图 使用 div容器组件 嵌套布局,在每个 div 中使用 循环渲染 加载此分类下分类导航数据,底部导航菜单使用 TabCont…...

第二证券|金价逼近历史高点 黄金股价值有望重估

经过两个多月的震荡后,黄金打响新一波攻势,期货商场价格已逼近前史高点。 有分析认为,虽然黄金价格短期已有显着涨幅,存在震荡或许,但中长时间看,跟着美联储钱银政策的转向,黄金价格仍有上行动…...

关于51单片机晶振定时问题

单片机中晶振频率为12MHZ的机器周期怎么算? 1、系统晶振频率是12M,则机器周期=12/12=1us; 2、定时1ms=1*1000=1000us; 3、工作在方式1下:最大计数值是2&a…...

NoSQL--2.MongoDB配置(Windows版)

目录 2.MongdoDB配置 2.1 Windows环境下操作 2.1.1 注册MongDB Atlas: 2.1.2 MongoDB Community Server Download: 2.1.3 启动MondgoDB服务: 2.1.3.1 命令行参数的方式启动MongoDB服务: 2.1.3.2 使用配置文件方式启动Mongo…...

HTML静态网页成品作业(HTML+CSS)——安徽宣笔设计制作(5个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有6个页面。 🏷️想要…...

MySQL CTEs通用表表达式:进阶学习-递归查询

MySQL CTEs通用表表达式:进阶学习-递归查询 递归通用表表达式是其会引用自身的通用表表达式。 CTEs 递归通用表表达式补上了MySQL8之前无法使用递归查询的空白。在之前,递归查询需要使用函数等方法实现。 基础使用,请参考前文: …...

[Java安全入门]二.序列化与反序列化

一.概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反…...

Dutree:Linux 文件系统磁盘使用追踪工具

在 Linux 系统中,对文件系统的磁盘使用情况进行跟踪和管理是至关重要的。dutree 是一个功能强大的工具,它能够以可视化的方式展示文件系统中的目录和文件的大小,帮助用户更好地了解磁盘空间的使用情况。本文将介绍 dutree 工具的使用方法、功…...

http和https的区别是什么?

–前言 传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同 一、传输信息安全性不同 1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。 2、h…...

学习Android的第十九天

目录 Android ExpandableListView 分组列表 ExpandableListView 属性 ExpandableListView 事件 ExpandableListView 的 Adapter 范例 参考文档 Android ViewFlipper 翻转视图 ViewFlipper 属性 ViewFlipper 方法 为 ViewFlipper 加入 View 例子:全屏幕可…...

C#上位机调试经验

1.使用Visual Studio的远程工具 因为上位机软件安装在工控机上,不方便调试。如果直接把代码放在工控机上,又不太安全。 可以在工控机上安装一个Visual Studio的远程工具,把随身带的笔记本电脑通过网线插在工控机上 这样可以在笔记本上使用…...

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的,这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过,发现可以通过了。 3.由之前的做题经验可知,这道题会涉及到…...

0基础跨考计算机|408保姆级全年计划

我也是零基础备考408! 虽说是计算机专业,但是本科一学期学十几门,真的期末考试完脑子里什么都不进的...基本都是考前一周发疯学完水过考试...😅 想要零基础跨考可以直接从王道开始!跟教材一点一点啃完全没必要🥸 现在…...

C# 操作LiteDB

1、很简单的东西不废话,直接上图上代码。 2、NuGet程序中根据自己的项目版本安装LiteDB,如下图: 3、程序运行加过如下图: 4、程序代码如下: using System; using System.Collections.Generic; using System.Linq; using System…...

LeetCode 2917.找出数组中的 K-or 值:基础位运算

【LetMeFly】2917.找出数组中的 K-or 值:基础位运算 力扣题目链接:https://leetcode.cn/problems/find-the-k-or-of-an-array/ 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 nums 中的 K-or 是一个满足以下条件的非负整数: 只有…...

MySQL窗口函数:从理论到实践

目录 1. ROW_NUMBER() 2. RANK() 3. DENSE_RANK() 4. NTILE(n) 5. LAG() 和 LEAD() 6. FIRST_VALUE() 和 LAST_VALUE() 总结 MySQL中的窗口函数(Window Functions)允许用户对一个结果集的窗口(或分区)执行计算,…...

Vue+SpringBoot打造考研专业课程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…...

python基础第二天

世界杯小组赛成绩 注意: 1.循环 1.1while 1.2for 1.3 range 1.4 while else while 循环正常执行完才能执行else语句...

YOLOV9论文解读

代码:https://github.com/WongKinYiu/yolov9论文:https://arxiv.org/abs/2402.1361本文提出可编程梯度信息(PGI)和基于梯度路径规划的通用高效层聚合网络(GELAN),最终铸成YOLOv9目标检测全新工作!性能表现SOTA!在各个方…...

XXMI-Launcher:多游戏Mod管理平台的终极指南

XXMI-Launcher:多游戏Mod管理平台的终极指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI-Launcher是一款专为热门游戏设计的Mod管理平台,支持《原…...

UVa 233 Package Pricing

题目分析 题目描述了一家销售 444 种尺寸节能灯泡的公司,这些灯泡尺寸分别用字符 a、b、c、d 表示。公司提供若干优惠套餐,每个套餐有目录编号、价格和包含的灯泡组合。顾客需要购买特定数量的灯泡,要求找出最便宜的套餐组合方式,…...

Linux应用健康端点实战指南

Linux应用健康端点实战指南本文面向具备一定 Linux 基础的技术人员,围绕应用健康端点展开,重点讨论健康接口、依赖检查和负载均衡摘除。在中级运维和系统管理工作中,这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在…...

Keil MDK中HEX文件未生成的8.3路径问题解析

1. 问题现象与背景解析 在嵌入式开发领域,Keil MDK(Microcontroller Development Kit)是广泛使用的集成开发环境,尤其针对C166系列微控制器。最近遇到一个典型问题:开发者在Vision1环境中配置了L166链接器和OH166 HEX转…...

基于Adafruit FunHouse与MQTT构建响应式智能家居传感节点

1. 项目概述:从零构建一个响应灵敏的智能家居传感节点如果你手头有一块像Adafruit FunHouse这样的开发板,上面集成了温湿度、气压传感器,还有几个物理按钮和滑块,你可能会想,怎么才能让它真正“活”起来,成…...

MLX90614红外测温传感器:从原理到Arduino实战应用指南

1. 项目概述:从接触式到非接触式的测温革新在嵌入式开发和物联网项目中,温度测量是一个永恒的主题。从传统的热敏电阻、DS18B20,到热电偶,我们习惯了将探头紧贴甚至刺入被测物体来获取读数。但你是否遇到过这样的困境:…...

FigmaCN:打破语言壁垒,让Figma设计更高效的中文界面解决方案

FigmaCN:打破语言壁垒,让Figma设计更高效的中文界面解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?你是否曾…...

Redis如何限制客户端输出缓冲区的过度膨胀.txt

...

What Are You Talking About(HDU- P1075)

伊格纳修斯真是走了狗屎运,昨天居然遇到了火星人!可惜他完全听不懂火星人的语言。临走时,火星人给了他一本火星历史书和一本词典。现在伊格纳修斯想把这本历史书翻译成英语,你能帮帮他吗?输入本题只有一组测试数据&…...

除了Omnipeek,你的8812BU网卡还能怎么玩?Win10下的另类WiFi抓包与网络分析实践

超越Omnipeek:8812BU网卡在Win10下的高阶WiFi分析实战指南 对于已经掌握Omnipeek基础操作的技术爱好者而言,8812BU这块双频无线网卡的价值远不止于单一工具的应用。它实际上是一把打开无线网络分析大门的万能钥匙,能够适配多种专业软件&#…...