簡體   English   中英

Java輸出UTF-8到真實角色?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM