繁体   English   中英

从文本文件中读取字符串时出现顽固的字符编码错误(Ruby / Rails)

[英]Stubborn character encoding errors when reading strings from text file (Ruby/Rails)

我一直在尝试导入从PDF阅读器应用程序(SODA-PDF)生成的长文本文件。 源文档是PDF格式的脚本。

转换后的文本文件在记事本中看起来还可以,但是在尝试将文件读入字符串并对其进行操作时出现了许多错误。

我在各种线程中看到的以下方法似乎都不起作用:

  clean1=Iconv.conv('ASCII//IGNORE', 'UTF8', s)

要么

  clean1=s.encode('UTF-8', invalid: :replace, undef: :replace, replace: '', UNIVERSAL_NEWLINE_DECORATOR: true)

要么

  clean1=s.gsub(/[\u0080-\u00ff]/,"")

第一种方法,使用Iconv给出

Iconv::InvalidEncoding: invalid encoding ("ASCII", "UTF8")

调用时。

第二种方法似乎可以工作,但是在各种字符串操作(如

lines= s.split("\n") unless s.blank?

 ArgumentError: invalid byte sequence in UTF-8

(拆分还是空白?将引发异常。)

第三种方法也会失败,并显示“ UTF-8中的无效字节序列”错误。

我在整个字符编码方面都比较朦胧,因此请原谅任何明显的愚蠢之处。

我将通过字符过滤来尝试一个字符,但这有点痛苦,因为我正在使用的文档可以超过100页,并且我希望有一个更简单的解决方法。

信封:Win7 64 / ruby​​ 1.9.3p484(2013-11-22)[i386-mingw32] / Rails 4.0.3

我发现我的源文件是按照ISO-8859-1编码的。 能够转换为UTF-8,现在一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM