首页 > 其他 > 详细

Cocos2dx-新建项目 2

时间:2014-03-07 09:46:05      阅读:472      评论:0      收藏:0      [点我收藏+]

这个问题定位了挺久,写下来mark下。

起因:由于调用A系统接口,使用HttpURLConnection,请求的ContentEncoding和Charset.defaultCharset().name()
,一直是us-ascii或在是MacRoman等等,一直乱码,看了下Charset.defaultCharset().name()是由用file.encoding 决定的,

Charset.defaultCharset().name()的实现如下:

public static Charset defaultCharset() { 
if (defaultCharset == null) { 
synchronized (Charset.class) { 
java.security.PrivilegedAction pa = 
new GetPropertyAction("file.encoding"); 
String csn = (String)AccessController.doPrivileged(pa); 
Charset cs = lookup(csn); 
if (cs != null) 
defaultCharset = cs; 
else 
defaultCharset = forName("UTF-8"); 
} 
} 
return defaultCharset; 
} 


在linux服务器中使用下面的check了下编码,结果是us-ascii,

Properties pps=System.getProperties();  
pps.getProperty("file.encoding");


修改file.encoding,在Tomcat JVM 启动参数里面加入

 在catalina.sh  中加一个  -Dfile.encoding=UTF-8

具体如下:

export JAVA_OPTS="-server -Xms256M -Xmx256M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.encoding=UTF-8"



Cocos2dx-新建项目 2,布布扣,bubuko.com

Cocos2dx-新建项目 2

原文:http://blog.csdn.net/lightupheaven/article/details/20667829

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!