Java 写 Access
转载:http://blog.csdn.net/regon/article/details/4724456
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里面,有一个设置,把它设为GBK就OK了。
9. Netbeans里面没有这个,开始考虑在netbeans.conf里面使用-J-Duser.language这样的参数,但是其实我的IDE本来就是中文了,这样做没有意义。
10. 最后发现其实是本地JVM的参数,在netbeans里面的属性->运行->VM选项里设置“-Dfile.encoding=GBK”就OK了。
总结:
感觉就是有2个编码需要我们考虑,一个是编译时候的,一个是运行时候的。编译时候的其实影响比较小,主要就是为了国际化的注释等等;还有运行时,感觉就是ODBC写Access需要使用中文的环境。
转载:http://blog.csdn.net/regon/article/details/4724456
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里面,有一个设置,把它设为GBK就OK了。
9. Netbeans里面没有这个,开始考虑在netbeans.conf里面使用-J-Duser.language这样的参数,但是其实我的IDE本来就是中文了,这样做没有意义。
10. 最后发现其实是本地JVM的参数,在netbeans里面的属性->运行->VM选项里设置“-Dfile.encoding=GBK”就OK了。
总结:
感觉就是有2个编码需要我们考虑,一个是编译时候的,一个是运行时候的。编译时候的其实影响比较小,主要就是为了国际化的注释等等;还有运行时,感觉就是ODBC写Access需要使用中文的环境。