程序中变量需要中文赋值, 然后把该变量内容写到文本
但是在控制台输出看到的输出是乱码,把该变量的内容写到文本文件中也是乱码。该程序在我本机环境(英文windows)上运行是没问题的,但是打包后放到中文windows
系统的环境中就会出现乱码。该程序是个纯java应用程序,用System.getProperty("file.encoding")
输出的都是GBK,为什么还是不能显示中文,在启动的时候加上-Ddefault.client.encoding=GBK -Dfile.encoding=GBK 还是不能输出中文public static void main(String[] args) {
String str ="测试";
System.out.println(str); String encoding=System.getProperty("file.encoding");
System.out.println("Default System Encoding: " + encoding);

}

解决方案 »

  1.   

    用的什么开发工具?
    eclipse/Myeclipse的话右键项目选择属性可以看到项目编码,另外需要在
    窗口-属性-general-content type里看下java source file的默认编码
      

  2.   

    看看这个java文件的编码,右键-属性,改成gbk的
      

  3.   

    java source file的默认编码 设置为 utf-8
      

  4.   

    System.out.println(Charset.forName(encoding).decode(str));楼主试试这个可以不
      

  5.   

    一般来说 流最后都是处理的字节码
    看能不能按一定的编码格式把str转换成byte数组放进去
    读出来的时候也是用byte数组
    最后显示的时候 用String的构造方法去转码
      

  6.   

    改下你的控制台编码,是显示的时候出现乱码
    -------------------------------
     java菜鸟学堂QQ群144648357
      

  7.   

    可能是没有字体 在jre/lib/fonts加几个字体试试