使用sublineText3编写了java代码,通过cmd javac编译 提示 错误:编码GBK的不可映射字符 解决方法 使用javac -encoding UTF-8 Person.java 结果: 没有错误 但是,这样子,实在是有点而复杂了,我这时候想到了,能否通过类似linux命令行中的别名来使javac自动带上参数呢? 结果,显然是可以的. 具体方法 新建一个alias.txt 新建一个快捷方式 将path/to/alias/file/filename改为你的alias.txt的路径就…
由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文件编译成class类文件.中文不支持Unicode编码,所以报错. 解决办法(两种): javac -encoding UTF-8 XX.java 使用-encoding参数指明编码方式. 用记事本打开文件,然后另存为,选择ANSI编码,覆盖掉该源…
1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作.因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误: 部分输出日志如下所示: :XTCLintrRules:compileJava D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.j…
方法一: (将notepad编辑器的编码方式改为ANSI后再进行程序代码的编译,将之前乱码的汉字删除重新输入正常的汉字) 1.notepad编辑器默认编码方式为UTF-8时,CMD里面执行javac Teacher.java,代码里中文打印会出现乱码 2.此时调整notepad的编码方式为ANSI,看到原来写的汉字代码出现乱码 3.在notepad编码方式为ANSI时将乱码删除,修改为正常的中文汉字 4.再次在CMD里执行javac Teacher.java时发现将不再报错 分析: 1.出现这样…
我的java文件里出现中文,是这样一个文件: import java.io.*; public class Test { public static void main(String[] args) { String separator = File.separator; String filename = "myfile.txt"; String directory = "mydir1" + separator + "mydir2"; File…
今天在eclipse中使用Maven编译项目源代码时,结果如下了如下的错误 在Java源码中没有提示任何报错,即便是改掉项目编码也是不行,如下图所示:…
问题描述:使用命令提示符(CMD)编译写好的java程序的时候出现“编码GBK的不可映射字符” 问题截图: 问题分析:看提示就知道是代码的注释出现问题,但注释格式完全正确,那么问题就只可能是注释编码出现问题. 网上查了一下果然是注释编码出现问题. 由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文…
今天使用EditPlus写了一个小程序,用cmd运行时报错--"错误,编码GBK的不可映射字符". 处理办法是用EditPlus另存为时,把编码格式由UTF-8改为ANSI. 然后使用Notepad++打开发现java程序的注释是乱码. 也许Notepad++有别的办法处理这个问题,但从原生功能来说,写java程序,EditPlus优于Notepad++.…
原因:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定JAVA源程序的编码格式,则java.exe首先获得我们才做系统默认采用的编码格式,也即在编译JAVA程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如win2k,他的值为GBK),然后JDK就把我们的JAVA源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放到内存中.之后,javac把转换后的…
出现这样的错误,一般是因为代码中含有中文字符,注释中的中文字符也算.由于使用cmd运行java程序的时候,系统默认的编码格式是gbk.而包含中文字符的代码一般是Unicode格式,所以直接运行含有中文字符的代码就很容易出现编码错误. 编写测试代码如下: cmd编译运行显示乱码 以notpad++为例,将编码转换为"使用ANSI格式编码"即可. 注意:但是如果直接点击"使用ANSI格式编码",原来的中文会乱码,所以需要先将源文件剪切,然后将编码格式设置为"使…