2

我正在将 RSS 提要从 Tumblr 导入 Kynetx 应用程序。似乎 RSS 提要存在一些编码问题,因为撇号如下所示:

撇号编码不正确

提要(您可以在此处找到)声称以 UTF-8 编码。

有没有办法指定编码或用常规撇号替换这些字符?

4

1 回答 1

2

虽然不是最优的,但您可以尝试捕获这些编码并将它们替换为 UTF-8 标准:

newstring = oldstring.replace(re/’/\'/);

Windows 特殊字符

这似乎是一个指定 UTF-8 的服务的情况,但没有明确强制执行它。我上传了您提供的 RSS 提要的图像。为了比较,我将文本剪切并粘贴到记事本文档中,然后从键盘输入相同的文本。

我不知道您是否可以从图像中看出,但被损坏的撇号与我的 UTF-8 浏览器生成的撇号不同。

我怀疑这篇文章是通过 Windows 客户端提交的。如果您查看您的编码选项,您将看到 Western ( Windows-1252 ) 的选项。

Windows-1252 是 Windows 的旧版编码,类似于 ISO 8859-1,但用它们自己的一些字符替换 ANSI 标准中的控制字符并更改其他代码页中的位置。

我在上面引用的维基百科页面中引用了几句:

使用字符集标签 ISO-8859-1 错误地标记 Windows-1252 文本数据是很常见的。许多 Web 浏览器和电子邮件客户端将 MIME 字符集 ISO-8859-1 视为 Windows-1252 字符,以适应此类错误标签

许多 Microsoft 程序,例如 Word 会在输入标准 ASCII 字符时自动替换 Windows-1252 字符,例如“智能引号”(例如用 ' 代替缩写中的撇号)或用 © 代替三个字符 '(c) '。

KRL 支持 UTF-8 支持的所有语言字符集,因此它原生支持多字节国际字符;但是,这是以当您只有 ISO-8859-1 或 Windows-1252 可供选择时能够伪造编码为代价的。

于 2011-01-20T00:16:36.127 回答