- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我抓取了电影列表并将它们存储在我的数据库中。对于仅包含英文字符的电影来说一切正常,但问题是某些包含非英文字符的电影名称无法正确显示。例如,意大利电影“Il piùrudele dei giorni”存储为“Il pi& ugrave;rudele dei giorni”。
有人可以告诉我是否有任何解决方案吗? (我知道我可以为爬虫设置语言,我也已经爬取了意大利语的电影标题,但是当我想爬取英文标题时,Imdb 中仍然有一些电影包含非英语字符)
编辑:这是我的代码:
String baseUrl = "http://www.imdb.com/search/title?at=0&count=250&sort=num_votes,desc&start="+start+"&title_type=feature&view=simple";
label1: try {
org.jsoup.Connection con = Jsoup.connect(baseUrl).userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21").header("Accept-Language", "en");
con.timeout(30000).ignoreHttpErrors(true).followRedirects(true);
Response resp = con.execute();
Document doc = null;
if (resp.statusCode() == 200) {
doc = con.get();
Elements myElements = doc.getElementsByClass("results").first().getElementsByTag("table");
Elements trs = myElements.select(":not(thead) tr");
for (int i = 0; i < trs.size(); i++) {
Element tr = trs.get(i);
Elements tds = tr.select("td");
for (int j = 3; j < tds.size(); j++) {
Elements links = tds.select("a[href]");
String titleId = links.attr("href");
String movietitle = links.html();
//I ADDED YOUR CODE HERE
Charset c = Charset.forName("UTF-16BE");
ByteBuffer b = c.encode(movietitle);
for (int m = 0; b.hasRemaining(); m++) {
int charValue = (b.get()) & 0xff;
System.out.print((char) charValue);
}
// try{
// String query = "INSERT into test (movieName,ImdbId)" + "VALUES (?,?)";
// PreparedStatement preparedStmt = conn.prepareStatement(query);
// preparedStmt.setString (1, movietitle);
// preparedStmt.setString (2, titleId );
// }catch (Exception e)
// {
// e.printStackTrace();
// }
谢谢
最佳答案
在这里,我复制粘贴了问题中共享的字符串并尝试了
public class Test {
public static void main (String...a) throws Exception {
String s = "Il più crudele dei giorni";
Charset c = Charset.forName("UTF-16BE");
ByteBuffer b = c.encode(s);
for (int i = 0; b.hasRemaining(); i++) {
int charValue = (b.get()) & 0xff;
System.out.print((char) charValue);
}
}
}
这将打印控制台上的 s
。我假设您已经拥有写入文件的部分代码。如果上面的代码适合您,您可以尝试集成它。
关于java网络爬虫无法识别非英文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202236/
在 .m 文件中: UIActionSheet *someSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"TI
常用HTML正则表达式 1.只能输入数字和英文的: 复制代码 代码如下: <input onkeyup="value=value.replace(/[/W]/g,'
前言 本文主要介绍使用UITextField限制只可输入中,英文,数字,我们可以使用NSPredicate正则表达式可以过滤,下面看看详细的步骤方法 首先设置UItextField的代理 实现
本文实例讲述了php判断输入是否是纯数字,英文,汉字的方法。分享给大家供大家参考。具体分析如下: 这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、
给定一个文本字符串 var string1 = 'IAmNotFoo'; 如何只提取大写字母? 'IANF' 下面是每个链接的一些方法: function isUpperCase1(aCharacte
如何在 PHP tcpdf 中生成连字? 最佳答案 tcpdf 使用 FreeType 来栅格化字体,或者只是将它们嵌入到 PDF 中并在查看器中栅格化。连字实际上是在字体中定义的。如果您使用的是 T
请多多指教!我正在完成“C 语言编程”一书中的练习。 我必须编写一个程序,它接受一个整数,然后提取并用英语显示整数的每一位。 因此,如果我输入 1234,它应该打印回“一二三四”。 由于这个练习接近本
只能输入中文:<input id="input1" type="text" onkeyup="value=value.replace(/[^\
复制代码 代码如下: $str='asb天水市12'; if (preg_match("/^[\x7f-\xff]+$/", $str)){ echo '全部是汉字'; }
我发现这个公式可以将金额转换为单词,但它不能 100% 起作用。每当金额以 20,30, 40 等结尾时,都会出现错误。例如 1020 会出错,但 1019 和 1021 可以正常工作。我试图自己解决
某些 Windows 计算机安装了多种显示语言。 我可以使用以下函数以该语言获取当前用户的 UI 语言: function GetUsersWindowsLanguage: string; var
引言需求:(输入框限制输入多少字符) 1、一个字母、符号、数字相当于一个字符 2、一个汉字相当于两个字符 3、不能输入特殊字符 4、不能输入emoji表情 直接上代码 1、注册通知
我目前正在使用 Emacs + Magit,但我想我的问题比这些软件的具体使用更笼统。我读过 How does one change the language of the command line
有谁知道包含示例英语词典单词脚本的 Web 引用链接,可用于填充 SQL Server 中的词典表? 我可以处理 .txt 或 .csv 文件,或类似的文件。 或者,我正在向我的网络应用程序添加自定义
Oracle(多语言环境)如何判断给定字符串(表列值)的语言(英文,中文...)? 最佳答案 应该可以使用像 Language Dectection for Java 这样的库并将它与您的 PL/SQ
当您现在在 Xcode 5 上本地化一个文件时,您将拥有这个“基本”文件,据我所知,如果用户使用的是另一种未本地化的语言,则会使用该文件。在旧版本的 Xcode 上,您没有。 我希望英语成为默认使用的
我有如下文字: 아니다 bukan 싫다 tidak suka 훌륭하다 bagus 我正在尝试删除英文行(英文字母)并将其附加到上行(韩文字母)的末尾,如下所示: 아니다bukan 싫다tidak
这个问题在这里已经有了答案: Unicode string literals in VBA (3 个回答) How to type Unicode currency character in Visu
我可以知道是否有任何 SQL 脚本可以满足我的以下场景? 如果column1包含中文字符,更新值column2为'Chinese' 如果 column1 包含英文字符,则将值 column2 更新为“
我正在使用一个图像处理 API 来读取图像上的文本,并且从我返回的字符串数据中,我需要提取英语或字典中的单词以及常见的名字和姓氏。换句话说,我在字符串中得到了我需要的文本,但在结果中也得到了一些我需要
我是一名优秀的程序员,十分优秀!