- 获取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"
JVM默认字符集问题
最新推荐文章于 2022-08-28 01:43:13 发布