怎么处理警告:编码 GBK 的不可映射字符

怎么处理警告:编码 GBK 的不可映射字符,第1张

输入javac  -encoding utf-8  文件名.java。就可以解决了。

当Java源代码中包含中文字符时,我们在用javac编译时会出现“错误:编码GBK的不可映射字符”。

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

此时,class文件是Unicode编码的,它暂存在内存中,紧接着,JDK将此以Unicode格式编码的class文件保存到 *** 作系统中形成我们见到的class文件。当我们不加设置就编译时,相当于使用了参数:javac -encoding GBK Test.java,就会出现不兼容的情况。

拓展资料:

javac 是java语言编程编译器。全称java compiler。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。javac 可以隐式编译一些没有在命令行中提及的源文件。用 -verbose 选项可跟踪自动编译。当编译源文件时,编译器常常需要它还没有识别出的类型的有关信息。对于源文件中使用、扩展或实现的每个类或接口,编译器都需要其类型信息。这包括在源文件中没有明确提及、但通过继承提供信息的类和接口。

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK

参考资料:百度百科-javac常见错误

这两种写法是一样的

不论 是编译时的参数 , 还是 在 java 内部 使用 ,utf8 和 utf-8 是一样的

其实你自己试一下就知道 ,不支持的编码 会报错的

encoding就是文本文件的编码方式,如果不明白编码方式是什么意思,请参考:

http://zhidao.baidu.com/question/102680692.html

推荐用软件Replace Pioneer,把文件从gbk(ansi)编码转换为utf8的详细步骤:

==========

单文件转换:

1. 打开Convert->Encoding Convert菜单

2.点击input encoding,设置成CN->gbk

3.点击output encoding,设置成utf-8

4.选择input file 和output file,点击Start即可。

==========

批量文件转换:

第一步:选文件

1.打开Tools->Batch Runner菜单

2.把待处理文件从windows拖拽到Batch Runner窗口中

第二步:变换编码

1.点击Change Encode按钮

2.点击input encoding,设置成CN->gbk

3.点击output encoding,设置成utf-8

4.点击start,完成

注:如果你想把输出保存到新文件里,可以修改set output filename,把它从${FILENAME}改成新的规则,比如${FILENAME}.new。还要注意备份,以防 *** 作失误。

==========

编码检测:

另外,如果不知道一个文件原来的编码是什么,还可以用Tools->Encoding Detection菜单来检测。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7863088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存