Notepad++关于不同编码格式(UTF-8和GBK)导致Dos命令Javac编译报错的解决方法_一个文档utf-8 和gb2312混用 notepad-程序员宅基地

技术标签: Java  java  dos  中文乱码  编码格式  

问题背景

初学Java时我们会用笔记本(笔者是Notepad++)编写Hello World进行输出,但是在做这项工作的时候有时会遇到一些小麻烦。
本文讲解关于编译时编码格式不相容的一个小案例。

首先使用NotePad++配合Cmd命令行进行编码和执行:

  1. 编码
//这里是Java快速入门的代码……
//相关说明:
//1、public class Hello——>表示Hello是一个类,一个Public的共有类。
//2、Hello{}表示一个类的开始和结束。
//3、public static void main(String[] args)——>表示mian是一个主方法,即我们程序的入口。
//4、mina(){}——>表示方法的开始和结束。
//5、System.out.println("Hello,World!");——>表示输出"Hello,World!"到屏幕/控制台。
//6、";"——>表示语句的结束。
public class Hello{
    
	//mian代表这里是一个主方法。
	public static void main(String[] args){
    
		System.out.println("Hello,World!");
	}
	
}
  1. 编译:

这里使用Dos命令行进行编译的时候,出现了一个编码格式不相容的Bug:

请添加图片描述

出错原因:

此处的Hello.java编码格式为UTF-8:

请添加图片描述

而Cmd命令行中的编码格式为GBK格式:

请添加图片描述

两者不相容。

解决方法:

  1. )使用Notepad++中自带的修改编码格式的功能(可能存在无效的情况):

请添加图片描述

具体步骤:

(1.)修改源文件为ANSI:

请添加图片描述

(2.) 修改为“编码字符集”中的“中文”——>“GB2312(简体中文)

请添加图片描述

(3.) 确认修改

请添加图片描述

(4.) 重新编译,可以通过:

请添加图片描述

  1. 使用Javac encoding

使用Javac encoding UTF-8强制转换成对应的编码格式:

使用强制转换命令行:Javac -enconding XXX(格式) XXX.java(文件名)

请添加图片描述

路漫漫其修远兮,愿君上下而求索。

《参考文献》

《【零基础 快速学Java】韩顺平 零基础30天学会Java》

《CMD运行JAVA出现编码GBK的不可映射字符处理方法》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44199123/article/details/122492376

智能推荐

Opencv3安装踩坑(SLAM十四讲)_/usr/include/opencv-程序员宅基地

文章浏览阅读5.5k次,点赞3次,收藏57次。因为之前玩ros,使用了sudo apt-get install libopencv-dev 安装了opencv2,而slam十四讲的opencv版本为3。因此需要重新安装opencv3(在与opencv2共存的条件下)首先检查已有的opencv版本:pkg-config opencv --modversion如果是2版本,则需要安装3版本1. 安装过程1.安装依赖(如果有依赖则不必..._/usr/include/opencv

【Spring6】| Bean的生命周期(五步、七步、十步法剖析)-程序员宅基地

文章浏览阅读8.4k次,点赞34次,收藏148次。【Spring6】| Bean的生命周期(五步、七步、十步法剖析)_bean的生命周期

Appium(六)Toast 定位 + Android版本问题的解决以及 Selenium 的安装+屏幕截图_you could still use other supported backends in or-程序员宅基地

文章浏览阅读2.8k次。页面的错误提示 Toast,比如:网络加载问题出现的错误、用户名或者密码输入错误、银行卡密码输入次数提示等错误,这些错误的内容一般都会以浮动的方式显示,而且他们显示的时间非常的有限,可能是几秒钟的时间就会消失掉,不会被点击,无法获取到他们的焦点,但是在 Android 中有一个叫做 Appium Toast 的工具,在 Android 1.6.x 多的时候就已经开始支持识别 Toas..._you could still use other supported backends in order to automate older andr

关于idea将模块修改为Resources报错:Two modules in a project cannot share the same content root.-程序员宅基地

文章浏览阅读1.8k次。点击: file-->Project Structure-->选择:Models----> 右击文件点击Delete最后修改即可_two modules in a project cannot share the same content root

异步FIFO设计-程序员宅基地

文章浏览阅读590次,点赞26次,收藏26次。同步后的写指针与读指针进行比较,如果它们相等或满足其他预定的条件,就表明FIFO为空,从而产生空逻辑信号。产生空状态信号时,实际FIFO中有数据,相当于提前判断了空状态信号,此时不再进行读FIFO数据操作也是安全的。此时经常使用多余的1bit分别当做读写地址的拓展位,来区分读写地址相同的时候,FIFO的状态是空还是满状态。(格雷码是一种二进制编码方式,其相邻的两个数值只有一个位的差异,这种特性使得格雷码在变化时只涉及到一个位的翻转,从而减少了由于多位同时变化可能带来的不稳定性和错误。

Cannot load configuration class_cannot load configuration class: com.jsh.erp.erpap-程序员宅基地

文章浏览阅读3.0k次。将SDK从16设置为1.8,如下图_cannot load configuration class: com.jsh.erp.erpapplication

随便推点

MatconvNet:尝试将 SCRIPT vl_nnconv 作为函数执行_尝试将 script vl_nnconv 作为函数执行:-程序员宅基地

文章浏览阅读5k次,点赞7次,收藏7次。运行matconvnet遇到下面问题:尝试将 SCRIPT vl_nnconv 作为函数执行:L:\Fine-tuning-CNN\matlab\cnnimageretrieval\matlab\vl_nnconv.m出错 dagnn.Conv/forward (line 11)outputs{1} = vl_nnconv(...出错 dagnn.Layer/forwardAdvanced (line 85)outputs = obj.forward(inputs, {net.params(_尝试将 script vl_nnconv 作为函数执行:

Thymeleaf怎么显示request中绑定的数据?_thyme 显示request的值-程序员宅基地

文章浏览阅读1.1k次。Thymeleaf怎么显示request中绑定的数据?后端代码:@Controllerpublic class test { @RequestMapping({"/test"}) public String test(HttpServletRequest httpServletRequest){ //使用setAttribute存入数据 httpServletRequest.setAttribute("zhang" , "zhangjiahong"); _thyme 显示request的值

VSCode之Markdown自动生成目录#TOC#解决目录不整齐问题_vscode markdown 表格显示不全-程序员宅基地

文章浏览阅读3.1k次,点赞8次,收藏3次。一 、下载插件(1)在扩展里,搜索“Markdown”,在列表里选择Markdown的插件。(2)例如“Markdown TOC”,这是一个专门生产目录的插件。点击安装二、生成目录在你想添加目录的地方右击选择“Markdown TOC:Insert/Update”三、可能出现的问题及解决VSCode中Markdown目录显示异常TOC标签格式异常出现如下auto的文字原因:默..._vscode markdown 表格显示不全

MediaServerStudioEssentials2017R2版本安装_media server studio community 2017-程序员宅基地

文章浏览阅读1.1k次。安装依赖sudo apt-get install -y preload libpciaccess-dev libpthread-stubs0-devsudo apt-get install -y compizconfig-settings-managersudo apt-get install -y subversion git git-svn gcc g++ make cmake nasms_media server studio community 2017

第9讲:使用ajax技术实现增删改查及分页显示功能(jQuery)_ajax实现修改功能-程序员宅基地

文章浏览阅读1.2k次。本讲内容首先讲解jQuery对ajax的支持,分别讲解$.post,$.get,$.ajax等方法,这些方法的参数,使用方法及区别。最后对ajax的综合应用举例:在同一个页面实现新增,修改,删除学校资料,分页列表等功能,前端使用html静态页面,使用MySQL数据库,后台使用servlet技术实现。_ajax实现修改功能

找回word文件的两种密码_word文档保护默认密码是多少-程序员宅基地

文章浏览阅读773次。Word文档的密码也有两种:一种是打开密码,一种是编辑限制两种密码加密后的效果也是不一样的:设置了打开密码的Word文档,是在打开文件的时候需要输入密码,保护文件内容不被其他人看到。当我们输入了正确的word密码,进入到文件之后,就一些都正常了,可以正常阅读、正常编辑word文件。设置了编辑限制的Word文档,打开文件的时候不需要输入密码,打开之后能够查看Word文档内容,但是想要编辑WORD文件的时候,保护文件内容不被修改,需要输入正确的Word密码,将限制编辑取消才能够正常编辑Word文档。两种密码如果_word文档保护默认密码是多少