谈谈eclipse/myeclipse控制台中文编码问题

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;


public class TestChinaCode
{
    public static void main(String[] args) throws IOException
    {
        String str = "\n中文测试,这是内部硬编码的串" + "\ntest english character";
        String str1 = "\n中文测试,这是内部默认编码的串" + "\ntest english character";
        String strin = null;
        String strin1 =null;
        String textString="大家好!";
        System.out.println(textString);
        BufferedReader stdin = new BufferedReader(new InputStreamReader(
            System.in, "UTF-8")); // 设置输入接口按中文编码,字节按照utf-8编码读入字符
        BufferedReader stdin1 = new BufferedReader(new InputStreamReader(
            System.in));
        BufferedWriter stdout = new BufferedWriter(new OutputStreamWriter(
            System.out, "UTF-8")); // 设置输出接口按中文编码,即字符按照utf-8编码写出字节
        BufferedWriter stdout1 = new BufferedWriter(new OutputStreamWriter(
            System.out));
        
        stdout.write("请输入:");
        stdout.flush();
        strin = stdin.readLine();


        stdout.write("这是从用户输入的串:" + new String(strin.getBytes("UTF-8")), "UTF-8");
        stdout.newLine();
        stdout.write("这是从用户输入的串:" + new String(strin.getBytes("GBK")));
        stdout.flush();
        stdout.write(str);
        stdout.flush();
        
        stdout1.write("\n\n请输入:");
        stdout1.flush();
        strin1 = stdin1.readLine();
        stdout1.write("这是从用户输入的串:" + new String(strin1.getBytes("UTF-8")));
        stdout1.newLine();
        stdout1.write("这是从用户输入的串:" + new String(strin1.getBytes("GBK")));
        stdout1.flush();
        stdout1.write(str1);
        stdout1.flush();
        stdin1.close();
        stdin.close();


        System.out.println("\n*******************结论********************"
                            + "\n该程序显示了即使是在标准输入和输出中设置了硬编码,其实并没有起作用!"
                            + "\n同时也显示了从标准输入读入(控制台输入)的中文字符串默认都是用GBK编码,\n"
                            + "即使设置了UTF-8编码中文,其实还是用的GBK!"
                            + "\n该程序要求run as的run configrations以UTF-8编码,"
                            + "\n同时eclipse/myeclipse的文本编码都是默认UTF-8编码!");
    }
}



                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值