2015-05-22 43 views
0

我有一個編碼cp1251的xml文件,我想在swt瀏覽器中查看它,但如果我運行此代碼,browser.getText()返回null。SWT瀏覽器不接受參數字符串編碼cp1251

//.... 
String fileEncoding = "UTF-8" 
byte[] encoded = Files.readAllBytes(Paths.get(file.toURI())); 
String text = new String(encoded,fileEncoding); 
browser.setText(text); 

我已經讀過瀏覽器設置的字符串編碼的Unicode,m.b.我錯誤編碼的字符串從cp1251到utf-8,或者有另一種方式來在瀏覽器中看到我的文件

回答

0

也許你應該改變UTF-8編碼爲cp1251?因爲java在內部使用自己編碼的UTF-16,所以你需要告訴你在哪個編碼中你讀取了你的文件,並且你把它看作UTF-8,但是我認爲你需要把它看作cp1251,因爲你說過你的XML編碼的CP1251,所以你應該這樣閱讀:

String fileEncoding = "cp1251" 
byte[] encoded = Files.readAllBytes(Paths.get(file.toURI())); 
String text = new String(encoded,fileEncoding); 
browser.setText(text); 
+0

我試過,但swt.browser.getText()都是一樣的回空 –

+0

也許它不接受原始XML文件,也許你需要將它包裹在標記中? –

+0

不,如果xml編碼UTF-8,它將很好地在swt.browser中打開 –