JVM默认字符集问题
2012-03-29 16:16
127 查看
获取JVM默认字符集:System.getProperty("file.encoding")
获取中文字符的长度不同
经过以上的测试得出普遍一个结果:Xp系统安装Tomcat获取默认字符集为GBK,Linux根据语言不同而不同一般从Windows下面移植过来的系统容易出现乱码(测试方法可以新建一个charset.jsp,加入如下内容)。
统一JVM字符集的方法有两种:一种是在编码的过程中在需要指定字符集的时候,使用统一的字符集,如getBytes("GBK")等等;第二种,在Tomcat启动过程中指定JAVA_OPTS参数"-Dfile.encoding=UTF-8"
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"
相关文章推荐
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- Linux下修改默认字符集--->解决Linux下Java程序种中文文件夹file.isDirectory()判断失败的问题
- 如何彻底解决MySQL更改默认字符集以及字符乱码问题!!!
- Java FileWriter的默认字符集问题和JDK文件系统的错误
- 关于hive中decode函数,默认转码没有GBK中文字符集的问题
- ubutun mysql 5.7 修改默认字符集为utf8 ,解决xshell连接显示乱码问题
- C# 关于字符集的问题 默认 UTF-8 Unicode Default
- VS2005默认使用Unicode字符集的问题
- Mysql 5.7 for Mac永久修改默认字符集(解决乱码问题)
- Apache 默认字符集 影响 浏览器 自动选择 页面字符编码 问题!
- VS2005默认使用Unicode字符集的问题
- jvm 默认字符集
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用
- 解决微信小程序ios请求ssl错误问题 windows server 2008 R2默认ssl2.0 改成1.2的
- 修改mysql默认字符集的方法
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- CFileDialog的默认文件名问题
- 关于用struts所配置的Action默认页面的跳转问题
- Websphere设置JVM时区解决程序、日志时间快8小时问题
- 如何调整php的默认字符集