java中用了list的add()方法把一个中文汉字显示到frame中,却不能正常显示?? import java.awt.Frame; import java.awt.List; public class Test extends Frame { public Test(){ List lst=new List(10); lst.add("你好nihao"); this.add(lst,"North"); } public static void main(String[] args) { Test test=new Test(); test.setSize(300,400); test.setTitle("nihao中文"); test.setVisible(true); // } }//
我在eclipse下用utf-8编码作为默认编码 就会有这个中文 不能显示的问题,用gbk编码作默认编码就可以正常显示中文。把 源代码中的lst.add("你好nihao")改成 lst.add(new String("你好nihao".getBytes("gbk"),"gbk"))这样子,还是不能显示中文! 怀疑,eclipse 默认为 UTF-8下,(window系统 默认为gbk),Frame窗口 就不能显示 中文??问题到底在哪,求指教
VM的编码参数问题,请参考文章
http://blog.sina.com.cn/s/blog_025270e90101b1db.html
另有两个建议:
1.问题标题很不清晰,建议修改成:java.awt.List中文乱码 之类的表达;
2.这种问题,自己稍微抽象一下,比如在list中中文乱码,那在其他控件中呢,如果在其他控件中正常,那么就是list的问题,如果都是中文乱码,那么就是环境问题。等等,然后根据自己抽象的结果在google中搜索,很容易可以得到答案。
###### lst.add(new String("你好nihao".getBytes("gbk"),"gbk")
这句应该是lst.add(new String("你好nihao".getBytes("UTF-8"),"gbk"),你都说了是utf-8格式了,怎么能用gbk去解码呢,
还有既然后台是utf-8了,那你前端页面编码也要是utf-8,要不然肯定乱码,首先是要前后统一编码,utf-8也好,gbk也行 ######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。