您的位置:首页 > 其它

JVM默认字符集问题

2012-03-29 16:16 127 查看
获取JVM默认字符集:System.getProperty("file.encoding")
public class Test {
public static void main(String[] args) {
System.out.println(System.getProperty("file.encoding"));
}
}

获取中文字符的长度不同
public class Test {
public static void main(String[] args) {
System.out.println("测".getBytes(Charset.forName("UTF-8")).length);//结果:3
System.out.println("测".getBytes(Charset.forName("GBK")).length);//结果:2
}
}

经过以上的测试得出普遍一个结果:Xp系统安装Tomcat获取默认字符集为GBK,Linux根据语言不同而不同一般从Windows下面移植过来的系统容易出现乱码(测试方法可以新建一个charset.jsp,加入如下内容)。
<%=System.getProperty("file.encoding")%>

统一JVM字符集的方法有两种:一种是在编码的过程中在需要指定字符集的时候,使用统一的字符集,如getBytes("GBK")等等;第二种,在Tomcat启动过程中指定JAVA_OPTS参数"-Dfile.encoding=UTF-8"
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐