开发者社区> 问答> 正文

java中用了list的add()400 请求报错 

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窗口 就不能显示 中文??问题到底在哪,求指教

展开
收起
kun坤 2020-05-29 09:57:01 676 0
1 条回答
写回答
取消 提交回答
  • 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也行 ######

    引用来自“萧雨之泪”的评论

    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也行 感觉这是正解
    2020-05-29 11:05:00
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载