2010-05-24 76 views
0

在阅读文件,我得到broken UTF-8 String error每当我已经在我的文件破UTF-8串红宝石

través

下,如果我将其更改为正常e然后它工作。

解决这个问题的方法是什么?

错误只发生在我做line.lstrp或任何其他功能。只需打印行就可以了。

问题甚至发生在我尝试用正则表达式匹配字符串时。

回答

0

显然你的文件不是UTF-8编码的。所以,你应该照顾它(使用UTF-8保存你的文件),或者告诉Ruby你的字符串不会是UTF-8。为了做到这一点,您可以

  • 使用使用RUBYOPT环境变量
  • -E encoding-E encoding命令行开关指定的Ruby注释中的编码
  • force_encoding方法之前已经加载字符串操作如lstrp

有很多与Ruby编码有关的re在以下博客上添加:

http://blog.grayproductions.net/articles/understanding_m17n