在项目开发的时候,发现在windows下,java中文字符输出正常显示,但移动linux上就变成了??。经过研究发现,windows上的设置是zh_CH(字符集编码是GB2312/GBK),而linux 上是zh_US(字符集编码是ISO-8859-1)。从而导致乱码。
解决方法是:
String oscode=System.getProperty("file.coding"); //是取得系统的编码方式。
String sourceStr="你好";
String targetStr=new String(sourceStr.getBytes("GBK"),sourceStr);
注:linux上用 locale命令就可查询字符设置。
评论