小编Ice*_*ape的帖子

使用 Google Apps Script 从网页中提取数据时的字符编码问题

我已经使用 Google Apps 脚本编写了一个脚本,用于将网页中的文本提取到 Google 表格中。我只需要这个脚本来处理特定的网页,所以它不需要是通用的。该脚本几乎完全按照我的要求工作,只是我遇到了字符编码问题。我正在提取希伯来语和英语文本。HTML 中的元标记具有 charset=Windows-1255。英语提取完美,但希伯来语显示为包含问号的黑色菱形。

我发现这个问题说将数据传递到 blob 然后使用 getDataAsString 方法转换为另一种编码。我尝试转换为不同的编码并得到不同的结果。UTF-8 显示带问号的黑色菱形,UTF-16 显示韩语,ISO 8859-8 返回一个错误并说它不是一个有效的参数,原始的 Windows-1255 显示一个希伯来字符,但显示一堆其他乱码。

但是,我可以手动将希伯来语文本复制并粘贴到 Google 表格中,并且显示正确。

我什至测试过直接从 Google Apps 脚本代码传递希伯来语,如下所示:

function passHebrew() {
  return "??????????";
}
Run Code Online (Sandbox Code Playgroud)

这会在 Google 表格上正确显示希伯来语文本。

希伯来语显示为我提到的每种编码

我的代码如下:

function passHebrew() {
  return "??????????";
}
Run Code Online (Sandbox Code Playgroud)

我忽略、误解或做错了什么?我对编码的工作原理不太了解,所以我不明白为什么将其转换为 UTF-8 不起作用。

extract character-encoding hebrew windows-1255 google-apps-script

4
推荐指数
1
解决办法
4190
查看次数