【发布时间】:2015-06-15 20:48:18
【问题描述】:
我正在用java编写一个爬虫来爬取一些网站,这些网站可能有一些unicode字符,比如“£”。当我将内容(源 HTML)存储在 Java 字符串中时,这些类型的字符会丢失并被问号“?”替换。我想知道如何保持它们完好无损。相关代码如下:
protected String readWebPage(String weburl) throws IOException{
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(weburl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httpget, responseHandler);
// responseBody now contains the contents of the page
httpclient.getConnectionManager().shutdown();
return responseBody;
}
// function call
String res = readWebPage(url);
PrintWriter out = new PrintWriter(outDir+name+".html");
out.println(res);
out.close();
稍后在进行字符匹配时,我还希望能够执行以下操作:
if(text.indexOf("£")>=0)
我不知道 Java 是否会识别该字符并按照我的意愿去做。
任何意见将不胜感激。提前致谢。
【问题讨论】:
标签: java string unicode utf-8 character