我今天一天都在找如何将JVM的字符编码由gbk改为utf-8,由于依赖你本地的系统,所以改起来有点麻烦,看了很多文档,
原因是因为file.encoding默认的字符集跟操作系统有关,中文操作系统下面默认的字符集是GBK,如果流程定义的xml文件中用UTF-8,
则不能正确转换,所以需要修改file.encoding的值为UTF-8。
于是跟着这个思想我尝试了很多方法,都失败了,心碎了一地 ,,,就在我快要下班之际,一篇文章引起了我的注意:
内容如下:
Windows
在catalina.bat最前面加入 set JAVA_OPTS=-Xms128m -Xmx350m 如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存. 但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了, 就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了.. windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置. 解决办法: 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions 原值为 -Dcatalina.home="C:\ApacheGroup\Tomcat 5.0" -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed" -Xrs 加入 -Xms300m -Xmx350m 重起tomcat服务,设置生效 tomcat作为windows服务的参数配置,特别是PermSize的设置 这里不使用注册表,我们用tomcat提供的gui工具来设置。 1、在命令行下执行:tomcat5w.exe //ES//TomcatService 其中,TomcatService就是你加入windows服务的名称。这样,在windows的任务栏就会出现一个tomcat的服务管理器,图标如下 。 2、打开tomcat服务管理器的java页,如 在Java Options里面输入需要设置的参数,如设置permsize的内存 -XX:PermSize=64M -XX:MaxPermSize=192m -XX:ReservedCodeCacheSize=48m -Duser.timezone=GMT+08 注:每一行后面都不能有空格。 同样,我们也可以在注册表中进行修改,HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\TestService\Parameters\Java 内存改好后,可以登陆tomcat-->status查看 JVM.
如果你能看懂的话我想编码修改你应该就会懂了。。。。。。-Dfile.encoding=UTF-8 加入即可!
顺便传个语句Properties pps=System.getProperties(); pps.getProperty("file.encoding");或者java.nio.charset.Charset . defaultCharset ()这两个都可以在代码中查看当前JVM编码格式!!希望我的经验能帮助后来人吧!