2011-11-29 57 views
0

我在Blackberry中面對BrowserField的問題,我有一些HTML內容包含一些像''「的字符,但是當我試圖在我的內容中顯示這些內容時BrowserField我無法顯示這些字符它看起來像這樣「?」 我改變了BrowserField的RichTextField,我可以看到我的字符那裏,所以我認爲問題是從BrowserField,我試圖改變這樣的編碼:BrowserField Blackberry,使用「'」一些字符編碼

HttpHeaders headers = new HttpHeaders(); 
headers.addProperty(HttpHeaders.HEADER_CONTENT_TYPE,HttpHeaders.CONTENT_TYPE_TEXT_HTML); 
headers.addProperty(HttpHeaders.HEADER_ACCEPT_CHARSET, "ISO-8859-1,utf-8;q=0.7,*;q=0.7"); 


config.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER); 
config.setProperty(BrowserFieldConfig.ALLOW_CS_XHR, Boolean.TRUE); 
config.setProperty(BrowserFieldConfig.HTTP_HEADERS, headers); 

但問題依然存在:( 可以請你幫我 問候

回答

2

該問題可能是由於ISO-8859-1及其超集Cp1252(= Windows-1252)之間的差異所致。 MS Word生成時,其中一個額外字符是非ASCII引號。

發送給瀏覽器的頁面可能會說它們在ISO-8859-1(Latin-1)中,但實際上是在超集Windows-1252(Windows Latin-1)中。即使在Mac上,它在所有瀏覽器中都可以使用。在這種情況下,您必須在服務器端更改爲編碼Cp1252。

response.setEncoding("Cp1252"); 

response.setContentType("text/html; charset=Windows-1252"); 

當然UTF-8沒有這個問題,是國際化的。所以一個可行的選擇。