2013-02-01 58 views
1

在數據庫表中有一個名爲♥-You-Got-Me-♥[www.savevid.com].mp4的文件。我需要獲取這個文件的名稱並將其保存在文本文件中。但我節省的方式,我看到?,而不是。如何以Unicode存儲文本?從數據庫中獲取Unicode文本後,如何將Unicode文本存儲在文件中?

我做的方法是:

String name = Foo.getNameFromTheTable(); 
PrintWriter writer = new PrintWriter(file); 
writer.println(name); 
writer.close(); 

但這並不存儲在統一形式的文本。

回答

1

docs

打印的字符串。如果參數爲null,則打印字符串「null」。否則,根據平臺的默認字符編碼將字符串的字符轉換爲字節,並且這些字節的寫入方式與write(int)方法完全相同。

這就是問題的原因。

相反,使用FileOutputStreamOutputStreamWriter

OutputStreamWriter(OutputStream out, String charsetName) 
Create an OutputStreamWriter that uses the named charset. 

請參閱解決方案:https://stackoverflow.com/a/1001568/1360074

+0

我仍然得到''而不是心 –

+0

@SuhailGupta,你有什麼更新的代碼? –

+0

https://github.com/suhailgupta03/Samples/tree/master/encoding%20problem –

相關問題