Java 写 Access 乱码

Java Access

1.       在本地中文计算机上,发现写中文到access上,出现乱码。读的时候也是乱码。

2.       读的时候,不能读string,先使用byte读出来,然后再创建GBK编码的String.

3.       参考读,可能写的时候也是编码转换的问题,所以一直在做编码转换,可是无论如何也不能正确写入。

4.       考虑是否是环境有问题。从netbeans6.7.1转移到了eclipse3.4.2。问题依旧。

5.       到另外的机器上去试了,有和我机器现象相同的,也有正常的。既然有正常的,那么还是可能有些设置。

6.       分析了把工程转为UTF-8或者GBK实际没有关系,因为这只是影响javac的编译。只要在javac的时候指定了encoding,那么编码就没有关系了。可是,工程指定为GBK的时候,测试程序还是正常了,但是,我用的swing,其前端是UTF-8的,而且我的程序需要考虑中日文,所以我还是要使用UTF-8

7.       发现控制台上直接使用java命令,可以正常,但是同样的到IDE里面就不正常。控制台的编码是GBK

8.       Eclipse里面,工程是UTF-8,但是Run configurations->common->console encoding里面,有一个设置,把它设为GBKOK了。

9.       Netbeans里面没有这个,开始考虑在netbeans.conf里面使用-J-Duser.language这样的参数,但是其实我的IDE本来就是中文了,这样做没有意义。

10.   最后发现其实是本地JVM的参数,在netbeans里面的属性->运行->VM选项里设置“-Dfile.encoding=GBK”就OK了。

总结:

感觉就是有2个编码需要我们考虑,一个是编译时候的,一个是运行时候的。编译时候的其实影响比较小,主要就是为了国际化的注释等等;还有运行时,感觉就是ODBCAccess需要使用中文的环境。

你可能感兴趣的:(tips,access,java,netbeans,encoding,eclipse,swing)