java在cmd中乱码的问题解决

news2025/1/16 3:31:31

本文深入探讨了在使用 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 作为字符集,因为其兼容性较好,可以有效减少乱码问题的发生。

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

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

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

相关文章

如何定期跟踪和评估OKR的进度

设定跟踪周期 根据公司的实际情况和需要,设定合适的OKR跟踪周期。这个周期可以是每周、每月或每季度,以便及时了解OKR的进展情况。 使用进度图表 利用进度图表来可视化OKR的完成情况。这可以帮助团队更直观地了解目标的进度和剩余任务量,以…

【二分查找】【map]436. 寻找右区间

本文涉及的基础知识点 二分查找算法合集 LeetCode 436. 寻找右区间 给你一个区间数组 intervals ,其中 intervals[i] [starti, endi] ,且每个 starti 都 不同 。 区间 i 的 右侧区间 可以记作区间 j ,并满足 startj > endi &#xff0…

解决java: 无法访问javax.servlet.ServletException

问题 在对历往项目工具类总结和归纳更新过程中,common模块在compile编译过程中遇到了“Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件”这个报错问题。 IDE使用的是idea2021。 解决方法 pom中增加如下依赖&…

深度学习summary的网络结构Layer (type) Output Shape Param什么意思?

这行语句什么意思? Layer (type) Output Shape Param # Conv1d-1 [128, 16, 6] 64详细解释 这段信息是从一个深度学习模型的摘要中截取的,它描述了模型中的某一层(Layer)的信息。 Layer (type): 这部…

义乌等保测评公司有哪些?用哪款堡垒机好?

对于义乌,相信大家都听过,也都知道,耳熟能详。这不有义乌小伙伴在问,义乌等保测评公司有哪些?用哪款堡垒机好?今天我们就来简单聊聊。 义乌等保测评公司有哪些? 目前浙江义乌本地暂未有正规等保…

发布 flatpak 应用 (flathub)

警告: flathub 网站目前只支持显示英文, 这一点必须强烈差评 !!! 世界上至少有几百种不同的 GNU/Linux 发行版, 常见的都有几十种. 如何给这么多不同版本的系统发布软件, 对开发者是个大难题. flatpak 提供了一种统一发布应用的方式, 一次发布, 理论上适用于所有发行版的系统…

Flink实时数仓同步:实时表实战详解

一、背景 在大数据领域,初始阶段业务数据通常被存储于关系型数据库,如MySQL。然而,为满足日常分析和报表等需求,大数据平台采用多种同步方式,以适应这些业务数据的不同存储需求。这些同步存储方式包括离线仓库和实时仓…

鸿蒙NEXT实战开发:【截屏】

展示全屏截图和屏幕局部截图。通过[screenshot]模块实现屏幕截图 ,通过[window]模块实现隐私窗口切换,通过[display]模块查询当前隐私窗口。 效果预览 全屏截图局部截图选择区域局部截图 使用说明: 点击右上角图标打开弹窗,选…

vulhub中ThinkPHP 多语言本地文件包含漏洞复现

ThinkPHP是一个在中国使用较多的PHP框架。在其6.0.13版本及以前,存在一处本地文件包含漏洞。当多语言特性被开启时,攻击者可以使用lang参数来包含任意PHP文件。 虽然只能包含本地PHP文件,但在开启了register_argc_argv且安装了pcel/pear的环…

【C语言】glibc

一、获取源码 apt install glibc-source 在Debian系统中,通过apt install glibc-source命令安装的glibc源码通常会被放置在/usr/src/glibc目录下。安装完成后,可能需要解压缩该源码包。以下是解压缩源码包的步骤: 1. 打开终端。 2. 切换到源…

zipkin Access denied for user ‘xxx‘@‘xxx‘ (using password: NO)

Access denied : 拒绝访问 解决方案: 授权 登录mysql 之后执行命令 step 1 mysql -u username -p // username: 替换成你sql 用户名step2 授权 alter user usernameip identified with mysql_native_password by password // step 3 刷新 flush privileges;

每日一练 | 华为认证真题练习Day194

1、下面是路由器Huawei的部分输出配置,关于该部分配置描迷正确的是: [huawei] bgp 100 [huawei-bgp]peer 12.12.12.2 ip-prefix P1 export [huawei]ip-prefix P1 index 5 deny 10.0.0.0 0 greater-equal 8 less-equal 32 [huawei]ip-prefix P1 index 5 deny 172…

【wine】解决 0024:fixme:msctf:KeystrokeMgr_TestKeyUp STUB:(00A3D508)

故障日志 0024:fixme:msctf:KeystrokeMgr_TestKeyUp STUB:(00A3D508) AI分析 这些消息表示Wine对IE内核组件以及IME(Input Method Editor,输入法编辑器)的支持不完全。特别是涉及文本输入、拖放事件、属性变化通知等功能。 解决 winetrick…

redis最新版本在Windows系统上的安装

一、说明 这次安装操作主要是根据redis官网说明,一步步安装下来的,英语比较好的同学,可以直接看文章底部的超链接1,跳到官网按步操作即可。 目前redis的最新稳定版本为redis7.2。 二、Windows环境改造 Redis在Windows上不被官方…

MySQL基础-----函数

目录 前言 一、字符串函数 演示 案例 二、数值函数 演示 案例 三、日期函数 演示 案例 四、流程函数 演示 案例 前言 本期我们就开始MySQL中函数的学习。函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码在MySQL中 已经…

根据身高重建队列 用最少数量的箭引爆气球 无重叠区间

406.根据身高重建队列 力扣题目链接(opens new window) 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高…

【C++庖丁解牛】模版初阶

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1. 泛型编程2. 函数模…

教师必备的办公AI工具

在当今这个信息爆炸的时代,教师的工作已不仅仅局限于传统的课堂教学。为了更好地管理学生、与家长沟通以及提高工作效率,教师们急需一些高效的办公工具。其中,基于AI技术的办公工具成为了教师们的首选。本文将重点介绍群发成绩小程序这一AI工…

Pygame教程05:帧动画原理+边界值检测,让小球来回上下运动

------------★Pygame系列教程★------------ Pygame教程01:初识pygame游戏模块 Pygame教程02:图片的加载缩放旋转显示操作 Pygame教程03:文本显示字体加载transform方法 Pygame教程04:draw方法绘制矩形、多边形、圆、椭圆、弧…

2024.3.5每日一题

LeetCode 到达目的地的方案数 题目链接:1976. 到达目的地的方案数 - 力扣(LeetCode) 题目描述 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路。输入保证你可以…