问题描述
差不多的代码有的能显示汉字,有的不能显示能显示汉字的关键代码如下:JTabletable=newJTable();table.setValueAt("张三",0,0);table.setValueAt("李四",0,1);无法显示汉字的关键代码如下:JPanelpanel=newJPanel();panel.table.setValueAt("美国American",0,0);和能显示汉字代码的区别就在于间接调用另一个面板的JTable,还有就是写入的内容是汉字加上英文有没有高手知道是怎么回事啊?
解决方案
解决方案二:
不能显示汉字?是不显示还是显示乱码?
解决方案三:
首先,不能显示汉字常见两种情况:1、乱码,你取数据时如果一直当它是String是不会碰到乱码的。2、如果你在源码中hard-code一些汉字常量字符串,记得在编译这个源代码时也应该用同样的字符集,这个Eclipse这样的开发工具本身已经考虑到这点了,不过,可能有些人在各种情况下把源文件的字符集设置改了,导致eclipse没意识到你这个文件中的字符集与它传递给Java编译器的字符集参数不一致(这种情况下有时编译器会发现,当这个字的编码在指定的字符集中根本不存在时会报告,但如果刚好也存在但是另外一个汉字时并不报错,只是显示的汉字不是你期望的)。3、另一种情况不是乱码是字体不支持汉字显示,如果你在Windows上看到的汉字是一个个的方框就是这种情况,汉字数据本身没有问题,但你的当前组件选定的字体不支持汉字时就是这样,它用这个汉字的内部编码到这个字体库中去找时却没找到这个字符应该显示成什么样的图案,因此这时候它就直接显示一个方框了。如果你的不是方框而是你从另一个地方取数据后显示出来是问号就是你传递给myString.getBytes(encoding);或newString(bytes,encoding)这些调用中使用的字符集参数encoding不正确。