[英]Java Output UTF-8 to Real Characters?
在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
從輸出中,請求的值與tmp1
的字符串值相同,但為什么equalsIgnoreCase
輸出為false
?
Java String以UTF-16編碼。 我沒有看到你的代碼有任何問題,我認為問題來自你的控制台,它沒有正確顯示字符串的內容。
如果您使用的是eclipse,請將此處的控制台編碼更改為UTF-8
Eclipse > Preferences > General > Workspace > Text file encoding
你試圖只顯示其中一個嗎? 喜歡
String str = new String("\u6211");
System.out.println(str);
我打賭你創建該字符串的方法存在問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.