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编码!");
}
}
谈谈eclipse/myeclipse控制台中文编码问题
最新推荐文章于 2022-06-05 10:21:08 发布