2017-07-25 95 views
0

我對HTTP REST響應中的丹麥字母進行編碼時遇到了問題。丹麥語字母的編碼/內容類型問題「æ」

當我調用REST服務時,我得到的是「bev ge」,它必須是「bevæge」,Chrome瀏覽器對它進行編碼,並給我預期的字母爲「bevæge」,但是當我從Java API我收到「bevge」,sombody可以幫我解決這個問題,將不勝感激,

在此先感謝

+2

如果你沒有在代碼中加入這個問題,就很難看出你的代碼有什麼問題。 –

回答

1

你似乎有一個不匹配您的編碼

考慮

String str = "bevæge"; 

    byte[] b = str.getBytes(); 

    try { 
     System.out.println(new String (b, "US-ASCII")); 
     System.out.println(new String (b, "UTF8")); 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } 

輸出將

bev��ge 
bevæge 
0

的樣子,如果字符串轉移爲ISO8859-1

試試下面::

String str = "bevæge"; 

byte[] b = str.getBytes(); 

try { 
    System.out.println(new String (b, "ISO8859-1")); 
} catch (UnsupportedEncodingException e) { 
    e.printStackTrace(); 
} 

預訂購輸出中

bevæge

0

在你的HttpClient中,嘗試添加下面的h eader: Accept-charset:UTF-8