java 在控制台运行的时候有中文乱码

来源:互联网 发布:男士洗面奶推荐 知乎 编辑:程序博客网 时间:2024/05/29 09:34

因为MongoDB 只支持UTF-8,原来的文件流是GBK的,所以就需要将GBK转成UTF-8,在eclipse进行调试的时候,没有中文乱码,存入MongoDB里的数据也是正常的,后来将其导出成jar,部署到本地进行控制台运行

java -jar Test.jar

运行的时候发现有中文乱码,程序都是一个程序,为什么运行的结果不一样?查看了一下linux的本地默认字符编码,发现也是UTF-8,于是查了一下JVM的编码,发现是GB2312,于是在运行的时候,所以要指定默认的编码方式 

java -jar -Dfile.encoding=utf-8 Test.jar


另外,将一个GBK的字符串转成UTF-8 

String utf8=new String(gbk.getBytes(),"UTF-8")





0 0
原创粉丝点击