Java でのエンコーディングに問題があります。Eclipse UTF-8 でエンコーディングを設定しました。Eclipseからアプリを実行するとすべて問題ありませんが、jarにエクスポートしてダブルクリックして実行すると???? 文字。コマンドラインから実行すると: java -jar app.jar すべて問題ありません。問題は、他のサイトからダウンロードしたデータにあります (サイトは utf8 でエンコードされています)。解決策は何ですか?
編集: すべてのプラットフォームで、コマンド ラインから実行すると、defaultEncoding() は UTF-8 です。しかし、ダブルクリックして実行すると: Mac: US-ASCII Windows: windows-1250
エンコード方法を書きましたが、まだ機能していません:
public String getPageContent(String url) throws MalformedURLException, IOException
{
URL urlReader;
InputStream response = null;
BufferedReader reader;
String pageContent = "";
urlReader = new URL(url);
response = urlReader.openStream();
reader = new BufferedReader(new InputStreamReader(response));
for (String line; (line = reader.readLine()) != null;) {
pageContent += this.encode(line, "UTF-8");
}
reader.close();
return pageContent;
}
public String encode(String s, String charset)
{
try {
byte[] b = s.getBytes(charset);
s = new String(b, charset);
return s;
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return s;
}