关于串口中文的问题

最近要用JAVA 做一个读取二维条码的程序 现在用的javacomm20-win32实现了读取条码的方法,不过现在读取的二维条码的内容全是乱码
例如:
抵押人:?本┚└畚镆捣⒄褂邢薰?
抵押权??广东发展银行股份有限公司北京分行
坐落:朝阳十?锉ぜ?号7、8号楼
土地证号:市朝?郯奶ü?2007出)字第10110号抵字第05号

不知道什么什么问题,如果我不用程序,直接用超级终端的com1扫出来的就是正常的 如果用程序实现就是这样的, 有没有人碰见过这样的问题帮忙告诉下 谢谢

case SerialPortEvent.DATA_AVAILABLE:/*Data available at the serial port,端口有可用数据。读到缓冲数组,输出到终端*/
byte[] readBuffer = new byte[8];
try {
while (inputStream.available() > 0) {
int numBytes = inputStream.read(readBuffer);

            }
           str = new String(readBuffer);
           System.out.print(str);
        } catch (IOException e) {}
        break;
    }

[b]问题补充:[/b]
playfish的方法我试过了
我已经试过了 还是不行 不知道为什么 有的中文能出来有的就是乱码

read(readBuffer);

可能问题出在这个read身上,读文件时,是按字节读的,每读一个字节,就判断和编码表中的哪个字符对应,而中文是两个字符,read一次读一个,造成乱码,

你可以先试试用readLine来改造

试试把那个缓冲的 new byte[8];增大一点