因为Java里的字符类型长度可能和其他的会不同,所以会出现这个问题。可以自己写一个转换函数
String convert(String inputStr){
String converted=new String();
byte[] bytes;
try{
bytes=inputStr.getBytes("ISO8859-1");
converted=new String(bytes,"GB2312");
}//end try
catch(java.io.UnsupportedEncodingException e){
System.out.print("error");
}
return converted;
}
试试看吧!
String convert(String inputStr){
String converted=new String();
byte[] bytes;
try{
bytes=inputStr.getBytes("ISO8859-1");
converted=new String(bytes,"GB2312");
}//end try
catch(java.io.UnsupportedEncodingException e){
System.out.print("error");
}
return converted;
}
试试看吧!
有时候在JBuidler里运行一切正常,可是当用cmd命令运行时就会出现小方块。
没有办法,只好采取了笨办法:
this.setFont(new Font("Dialog",0,12));
mJdbTable.setFont(new Font("Dialog",0,12));
mButionOk.setFont(new Font("Dialog",0,12));
..............
谢谢beetleking,按照您给的方法,汉字不再显示为方格,而是一个个问号,问题不能完全解决。
gja106(中文字符):仍然是小方块。
我的JDK1.3.1是JBuilder6带的,是个英文版,是不是这个原因呢?下载个JDK1.4.0多语言版是否能解决问题呢?TRY!我得先下载......
还是用 gja106(中文字符) 的方法,但是字体改成中文字体。this.setFont(new Font("宋体",0,12));再试试吧:)
没听大师说过,乱码是编码问题,方块是字体问题吗?
跟OS有关,看看你系统目录下(Windows or WINNT)Fonts目录,
大概缺少字库,搞一个叫做SIMSUN.TTF的字体文件来,copy进这个目录,
看看行不行。