java 怎么 让 text 输出 不乱码 new String(text.getBytes("GB2312")) 10
java怎么让text输出不乱码System.out.println(newString(text.getBytes("GB2312")));这句代码不能变只能在上面转换...
java 怎么 让 text 输出 不乱码
System.out.println(new String(text.getBytes("GB2312")));
这句代码不能变 只能在上面转换 展开
System.out.println(new String(text.getBytes("GB2312")));
这句代码不能变 只能在上面转换 展开
展开全部
上面的代码相当于将text从GB2312的编码转换为默认编码。
new String(byte[]) 相当于:new String(byte[], defaultCharset),
而默认编码是通过:
System.getProperty("file.encoding")
获取到的。
这个参数要么通过启动java程序的时候通过vm参数提供(Eclipse通过配置默认编码可以自动带入,myeclipse的普通程序也可以,如果是老版本myeclipse的Tomcat即使配置了默认编码也不行,编码还是GBK(Windows操作系统)),如果是linux系统,可以通过配置LANG环境变量来定义编码。
而java的内部编码都是utf8的,如果要让上面的输出不乱码那么可以:
1、让控制台以GBK编码查看,Eclipse的程序的启动配置中可以修改
2、让text先从默认编码转换为GB2312,然后上面的代码再将其从GB2312转换为默认编码,此时刚好可以不乱码。
new String(byte[]) 相当于:new String(byte[], defaultCharset),
而默认编码是通过:
System.getProperty("file.encoding")
获取到的。
这个参数要么通过启动java程序的时候通过vm参数提供(Eclipse通过配置默认编码可以自动带入,myeclipse的普通程序也可以,如果是老版本myeclipse的Tomcat即使配置了默认编码也不行,编码还是GBK(Windows操作系统)),如果是linux系统,可以通过配置LANG环境变量来定义编码。
而java的内部编码都是utf8的,如果要让上面的输出不乱码那么可以:
1、让控制台以GBK编码查看,Eclipse的程序的启动配置中可以修改
2、让text先从默认编码转换为GB2312,然后上面的代码再将其从GB2312转换为默认编码,此时刚好可以不乱码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询