PowerShell或命令行运行javac xx.java提示“编码GBK的不可映射字符”

摘要:
因为JDK是一个国际版本,当我们用javac编译时,编译器将首先获得我们的操作系统默认使用的编码格式,然后JDK将Java源文件从GBK编码格式转换为Java的内部默认Unicode格式并将其放入内存,然后javac将转换后的Unicode格式文件编译为类文件。中文不支持Unicode编码,因此报告了一个错误。有两种解决方案:javac编码UTF-8XX Java使用编码参数来指示编码方法。用记事本打开文件,然后将其另存为。选择ANSI代码覆盖源文件。

由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文件编译成class类文件。中文不支持Unicode编码,所以报错。

解决办法(两种):

  1. javac -encoding UTF-8 XX.java 使用-encoding参数指明编码方式。
  2. 用记事本打开文件,然后另存为,选择ANSI编码,覆盖掉该源文件。

免责声明:文章转载自《PowerShell或命令行运行javac xx.java提示“编码GBK的不可映射字符”》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一个Monkey测试的小坑linux下tomcat部署get请求乱码问题解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Sumblime Text 2 常用插件以及安装方法

【内容提要】使用Package Control组件在线安装更方便 安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。 2.使用Package Control组件安装 也可以安装package...

Mac中解决windows中GBK编码的文件乱码现象

问题描述:   在我们使用window系统进行程序设计编码时,基本默认都是GBK,但是传到Mac系统时会出现乱码现象(一般开发时会统一编码,修改为UTF-8)。 Mac环境下如下操作:   打开终端操作,首先需要跳转到该java所在的目录,然后执行下面的操作   a.java是需要修改的文件,a.java.utf8是修改编码后的文件。   单个文件转换代码...

winCE下Unicode编码

Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何...

批处理命令学习(一)

批处理语法 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。 ==== 注 =======================================.bat是dos下的批处理文件.cmd是nt内核命令行环境的另一种批处理文件从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释...

Linux 和Windows之间命令行实现目录或文件互传

Linux 和Windows之间命令行实现目录或文件互传 在linux中,我们常用scp命令传输文件: 如以下实例,我们想把当前服务器文件abc.sql传输到192.168.1.1服务器上 我们可以执行以下命令: scp /home/person/hww/abc.sql root@192.168.1.1:/home/person/hww  回车后输入...

Windows怎么从命令行下载文件

其具体步骤如下: 1.打开cmd.exe Win+R或者git的bush界面 2.启动powershell 2.1 在命令行中输入 start  powershell 启动powershell 3.下载操作 3.1在powershell.exe文件中输入 $client=new-object System.Net.WebClient 3.2之后再输入...