• java 错误: 编码GBK的不可映射字符


    1.情景展示

    在cmd窗口当中,使用javac命令编译java文件,报错信息如下:

    错误: 编码GBK的不可映射字符,如何解决?

    2.原因分析

    根源:java文件中含有中文,不管是代码还是注释。

    字符集冲突,windows中文版,默认的字符集为:GBK,而当你的java文件当中的汉字不是字符集:GBK时,javac进行编译的时候就会报错。

    3.解决方案

    方式一:以java文件原有编码运行;(推荐使用)

    我们可以通过notepad++或者notepad打开该文件,在右下角可以查看到当前文件的字符编码。

    白色是notepad++,黑色是notepad。

    现在,我们知道将要编译的java文件的字符编码为:UTF-8,那我们下面就以这种格式来对文件进行重新编译;

    编译成功。

    方式二:改文件字符集;

    将java文件的字符集编码改成:gb2312。

    使用notepad打开该java文件;

    右下角,底部,点击原先的字符集--》通过编码保存--》更多编码选项--》找到gb2312;

    然后,Ctrl+S进行保存(而且,即使字符集改了,原先的中文保持不变,不会造成乱码,这是notepad的优点);

    我们重新来到黑窗口,执行javac命令;

    编译成功。

    方式三:删掉文件当中的中文。

    将注释当中的中文删掉,将代码中的中文改成拼音或者英文,即使你是UTF-8,也可以正常编译;

    当然,这种方式比较笨,不推荐使用,但是,亲测可行。

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

    本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/15548013.html

  • 相关阅读:
    jira:7.12.3版本搭建(破解版)
    traefik添加多证书
    人肉分析sorted(lst, key=lambda x: (x.isdigit(), x.isdigit() and int(x) % 2 == 0, x.islower(), x.isupper(), x))过程
    jquery实现checkbox全选/反选/取消
    k8s简单集群搭建
    第十二周编程总结
    第十周作业
    第九周编程总结
    第七周编程总结
    第五周编程总结
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/15548013.html
Copyright © 2020-2023  润新知