我在本机用 String s = new String(byte[] b) 读中文Txt文档后 将S录入到远端数据库,没有出现乱码。
我同事在他的机器上测试我的代码时,相同操作,数据库相应字段出现乱码。
当然我知道加一个charset就可以,不同的机器有不同的效果,那应该就是编码方式的问题,但是在默认情况下,JVM会用什么编码方式呢,此编码方式在何处?
是不是因为我们2台机器默认的编码方式不同,导致出现不一样的结果,还是有其他原因?
小弟菜鸟,请各位师兄赐教。感激不尽。

解决方案 »

  1.   

    JVM用的是Unicode吧不太懂  一般机器用的都是GB2312吧有一个方法可以返回你所用的编码是什么码  不过忘了什么方法了  好象是IO里面的
      

  2.   

    System.out.println(System.getProperty("file.encoding"));看看是什么编码  我机器是GBK
      

  3.   

    System.out.println(System.getProperty("file.encoding")); 应该是操作系统相关引起的
      

  4.   

    1.系统语言环境有关(我在公司就遇到过,两台linux服务器,一台上显示正常,另一台是乱码,后来发现一台语言环境是GBK,另一台是gb18030)
    2.文件本身的编码方式(可以先将文件存成txt格式,然后看下是什么编码,一般都是gb2312)
    3.就是程序本身设置编码方式的问题了不过lz这种情况肯定是第一种,都是一样的程序,文件也一样,只能考虑语言环境问题
    可能数据库编码方式不同是一个原因