2010-10-21 189 views
2

我java代碼,我有一個字符串名稱=「örebro」; //它是一個瑞典人的角色。轉換爲UTF8格式的字符串

但是,當我在web應用程序中使用這個名稱。我在'Ö'字符上打印一些特殊字符。

有沒有反正我可以使用「Örebro」中的相同字符。

我做了這樣的事情,但沒有奏效。

String name = "örebro"; 
byte[] utf8s = name .getBytes("UTF-8"); 
name = new String(utf8s, "UTF-8"); 

但最後的名字打印相同,就像這樣。 REBO

請指引我

+0

請參閱http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html – axtavt 2010-10-21 14:57:45

回答

4

您提供的Java代碼是毫無意義的,它什麼都不會做。 Java字符串已經完全能夠編碼任何字符(儘管您必須小心源代碼中的文字,因爲它們取決於編譯器使用的編碼,這取決於平臺)。

您的問題很可能是您的網頁未在HTTP標頭或HTML元標記中正確聲明編碼。

3

您需要設置輸出到UTF8的編碼。

1

讀取頁面的瀏覽器很可能不知道編碼。

  • 發送標題在HTML頁面中的東西在Java中像
    ServletResponse resource;(...)
    resource.setContentType ("text/html;charset=utf-8");

  • (之前任何其他輸出),通過發送(印刷)
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    提的編碼
1

如果用來生成輸出的頁面是JSP它的精確有用

<%@ page contentType="text/html; charset=utf-8" %>