【发布时间】:2015-03-18 14:31:05
【问题描述】:
我正在尝试在 Linux 中抓取俄罗斯网站,但输出似乎是垃圾字符。 该网站以 UTF-8 编码,在阅读时我将编码设置为 UTF-8。然而,这似乎并不能解决问题。 我应该怎么读?
public class Crawl {
@SuppressWarnings("unused")
public static void main(String[] args) {
URL my_url = new URL("http://www.fmsmoscow.ru/docs/migration_registration/registration.html");
BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream(),"UTF-8"));
while (null != (strTemp = br.readLine())){
System.out.println(strTemp);
}
}
}
上面是相同的代码。 我将代码导出为 jar 并将其添加到 Linux 服务器中。 然后我正在执行它以在 Linux 控制台中获取输出。
【问题讨论】:
-
这个问题的细节还远远不够,无法以任何方式提供帮助。
-
告诉我你需要什么细节,我会给他们。
-
1) “网站以 UTF-8 编码” - 您如何确认? 2)“在阅读时我将编码设置为 UTF-8”——这到底是什么意思?请代码。 3)“输出似乎是垃圾字符” - 你在哪里输出什么?
-
我知道该网站在查看其页面源代码时以 UTF-8 编码。 URL my_url = new URL("fmsmoscow.ru/docs/migration_registration/… br = new BufferedReader(new InputStreamReader(my_url.openStream(),"Cp1251")); while (null != (strTemp = br.readLine())){ System.out. println(strTemp);}
-
1) 我们说的是Java吗? 2) 为什么即使该站点是 UTF-8 编码的,您仍将编码显式设置为
Cp1251? 3) 请edit your question 并为其添加代码(以及您使用的任何语言的适当标签)。
标签: java linux encoding web-crawler cyrillic