编码gbk的不可映射字符要怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码gbk的不可映射字符要怎么解决相关的知识,希望对你有一定的参考价值。
输入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,就会出现不兼容的情况。
实践应用
伴随GBK字库的推广使用,中国新华通讯社于2000年1月1日起开始使用GBK编码向各新闻单位播发新闻稿。2000年4月1日起,中国银行业开始推行“储蓄实名制”。
同时,各种出版物已开始向网络化发展,网上发布新闻、网络出版已是大势所趋,通过网络传播信息的广度和深度对汉字使用提出了更高要求,GBK字库是缓解人名和地名等冷僻字的“当然之选”。
北大方正已为广大用户使用GBK字库做好了充分准备,其出版系统已全面支持GBK字库,如方正书版9.0、方正飞腾从1.0版本、世纪RIP从1.0版本开始就支持GBK字库,用户的补字量将大大降低。方正GBK字库的使用非常便捷。
排版软件方面,Windows上大多数文字处理软件,如MS Office、PageMaker、金山WPS等均已支持GBK字库,方正书版9.0、方正飞腾3.6和方正世纪RIP完全支持GBK字库。
输入法方面,除了Windows上的全拼、王码五笔等主流输入法支持GBK字库外,北大方正还专门为GBK的输入制作了一本GBK内码字典,用户可以用查字典的方法很快找到汉字的GBK编码完成录入。
参考技术A 一般做项目公司都会统一要求文件编码类型,很多为了实现应用国际化和本地化和更高的性能,而选用utf-8而非gbk。但在开发过程中我们都用的是ide,只要更改了配置就不用操心了,但有时=也会用命令行来编译java文件,这种时候就会出现warning:编码
gbk
的不可映射字符。解决这个问题当然是指定在编译时的编码格式。
方法:
加参数-encoding
utf-8
例如:javac
-encodig
utf-8
helloworld.java
utf-8简介:
是
unicode
的一种变长字符编码,即
rfc
3629。这种大字符集可以解决多种语言文本显示问题,从而实现应用国际化和本地化。utf-8
编码可以通过屏蔽位和移位操作快速读写,排序更加容易。由于utf-8
是字节顺序无关的,它的字节顺序在所有系统中都是一样的。因此
utf-8
具有更高的性能。
解决java编译错误:编码GBK的不可映射字符
新建java文件,存储时Encoding选择了UTF-8,
由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符":
解决办法:
1.使用javac -encoding UTF-8 test.java 编译通过:
2.修改文件encoding编码为 ANSI,编译通过:
以上是关于编码gbk的不可映射字符要怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
使用Sublime Text 3写完代码(有中文字符),javac编译时出现警告:编码GBK的不可映射字符,怎么解决?