在 Java 中,如何将 UTF-8 输出为真正的字符串?
我们
\u6211\u4eec
String str = new String("\u6211\u4eec");
System.out.println(str); // still ouput \u6211\u4eec, but I expect 我们 to be an output
-----
String tmp = request.getParameter("tag");
System.out.println("request:"+tmp);
System.out.println("character set :"+request.getCharacterEncoding());
String tmp1 = new String("\u6211\u4eec");
System.out.println("string equal:"+(tmp.equalsIgnoreCase(tmp1)));
String tag = new String(tmp);
System.out.println(tag);
request:\u6211\u4eec
character set :UTF-8
string equal:false
\u6211\u4eec
从输出来看,request的值和tmp1
的字符串值是一样的,但是为什么equalsIgnoreCase
输出false
呢?
最佳答案
您是否尝试只显示其中一个?喜欢
String str = new String("\u6211");
System.out.println(str);
我敢打赌您创建该字符串的方式存在问题。
关于Java 将 UTF-8 输出为真实字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446675/