我颳了幾個網站,其中一些網站包含非拉丁字符和特殊字符,如「
,而不是"
和’
,而不是'
。爲什麼此BufferedReader未以指定的UTF-8格式讀取?
這裏是真正的弧線球...
我打印到控制檯的相關文字。當我在我的IDE(Netbeans)中運行它時,一切都很好編碼。但是,當我在我的電腦上運行它「I Need Your Help」
被打印出來:ΓÇ£I Need Your HelpΓÇ¥
...
之前有人說我需要設置我的JAVA_TOOL_OPTIONS
環境變量以-Dfile.encoding=UTF8
讓我說,我已經做到了,這仍是一個問題。此外,不應該指定緩衝讀取器的編碼爲"UTF-8"
重寫嗎?
這裏的一些信息:
- 我使用的是JDK 7的目標平臺爲1.7
- 我在Windows 7機器上運行的所有的機器,我上運行這一點,遇到同樣的問題(有些沒有設置
JAVA_TOOL_OPTIONS
,但這似乎沒有任何區別)。 - 我認爲這是使用默認的編碼爲CP1252,...
這裏是我的代碼。讓我知道你是否需要更多信息。謝謝!
/**
* Using the given url, this method creates and returns the buffered reader for that url
*
* @param urlString
* @return
* @throws MalformedURLException
* @throws IOException
*/
public synchronized static BufferedReader getBufferedReader(String urlString) throws MalformedURLException, IOException {
URL url = new URL(urlString);
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
return br;
}
我有一個問題,即調用java程序從玉簪直接:JAVA myprogram工作,但是當我試圖遠程運行的ssh我@玉簪的「java myprogram」沒有奏效。它正在讀取一個utf8輸入文件。當我添加-Dfile.encoding = utf8它工作!該片段的Thx – Paul 2014-07-28 15:57:15