我正在从远程站点获取文本,并尝试将其加载到默认使用utf-8编码的Ruby 1.9/Rails 3应用程序中。
这里是一些有问题的文本示例:
Cancer Res; 71(3); 1-11. ©2011 AACR.\n
版权代码扩展后如下所示:
Cancer Res; 71(3); 1-11. \xC2\xA92011 AACR.\n
Ruby告诉我该字符串的编码方式为ASCII-8BIT,将其输入我的Rails应用程序会得到以下结果:
incompatible character encodings: ASCII-8BIT and UTF-8
使用以下正则表达式可以去除版权代码:
str.gsub(/[\x00-\x7F]/n,'?')
制作这个
Cancer Res; 71(3); 1-11. ??2011 AACR.\n
我该如何将版权符号(以及其他一些符号,如希腊字母)转换为UTF-8中的相同符号?这肯定是可能的...
我看到有人提到使用force_encoding,但这并不起作用:
str.force_encoding('utf-8').encode
我知道有许多其他人遇到了类似的问题,但我还没有看到有效的解决方案。