![](/img/trans.png)
[英]Ruby Character Encoding Confusion When Reading Same File In Different Environments
[英]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.