项目编码是UTF-8的,在使用java.awt.Button居然会乱码,如下图所示:
网上找了下类似的解决方法有下面几种:
1. 设置运行环境:
主类右键(或者上面工具栏)选择Run As中的Run Configurations-->在Arguments标签下的VM arguments中添加下面这行参数代码: -Dfile.encoding=gbk-->然后点击应用。
(关于这个参数可参考:https://blog.csdn.net/haixia_12/article/details/42424513和https://blog.csdn.net/jv_csjh/article/details/78581826)
关于这个编码有很多中说法,有人说GB18030可以,也有人说UTF-8也可以,但是我的设置为UTF-8无效,我觉得这是老问题了,得从源头讲起:Windows默认编码是gbk(我们一般统一称这类为国标码,主要是为了兼容中文的),而linux默认为UTF-8(好像是整合了世界上所有的语言,就是啥都有,但是字库不一样),于是编码字库不对应就会出现乱码的问题。
Eclipse默认的工作空间的编码为gbk(就是你新建一个文件,文件编码格式默认为gbk),而我们一般都会改为UTF-8,我猜测gbk的是不会出现乱码的情况,而我的之所以设置为UTF-8无效是因为字库不匹配问题,而要在Windows里面运行就要设置参数为国标码(有很多种标准,有兴趣可以自行了解),这样就可以解决了。
2.采用JButton:
Button是在java.awt.*中的类,具有平台的局限性,在不同的操作系统中显示的是不同的;
JButton是在javax.swing.*中的类,不具有平台的局限性,在Linux和Windows系统中显示的是相同的。
--引自:https://blog.csdn.net/shi201619616/article/details/80547163
javax.swing.JButton,(个人感觉)使用起来这两者好像差异不大。我把上面的参数去掉后,添加了JButton,这个不会乱码,但是Button会乱码。
当然上面这两种方法一起用也OK。