0

我在 ruby​​ 1.9.2 和 rails 3.0.9 中遇到了一个非常常见的问题——不兼容的字符编码:UTF-8 和 ASCII-8BIT异常。当我使用thinking_sphinx 搜索时会出现此问题。

def result
  #return page(1).per(1) #no any exceptions
  return search('').page(1).per(1) #if I use this an exception is raised when i try to render partial
end

然后这个方法的结果用在部分

render Trademarks.result

我同时使用erb和haml(化妆师使用html,我更喜欢使用haml),但haml引用允许这样做。

我尝试了魔术注释、default_internal、external 和其他一些建议,但没有结果。有任何想法吗?

4

2 回答 2

3

好的,解决方案是使用model_name.excerpts.somethingwith force_encoding('utf-8'),因为它不返回 UTF 字符串。

于 2011-08-01T10:09:06.247 回答
0

如果您通过标准的 activerecord 查询返回结果,是否会引发异常?

如果您的数据库中包含无效的 utf-8,则模型字符串属性的编码可能与您的视图编码冲突。

于 2011-08-01T00:21:31.090 回答