ruby-on-rails – 错误’不兼容的字符编码:ASCII-8BIT和UTF-8’
发布时间:2020-12-16 19:12:52 所属栏目:百科 来源:网络整理
导读:我移动了一个使用1.8.7到1.9.2的网络应用程序,现在我不断获取 incompatible character encodings: ASCII-8BIT and UTF-8 我的数据库编码为UTF-8,我也有’config.encoding =“utf-8”’. 我看到了一些想法可能的解决方法,我补充说 Encoding.default_external
我移动了一个使用1.8.7到1.9.2的网络应用程序,现在我不断获取
incompatible character encodings: ASCII-8BIT and UTF-8 我的数据库编码为UTF-8,我也有’config.encoding =“utf-8”’. 我看到了一些想法可能的解决方法,我补充说 Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 但它也没有用. 我收到此错误的一个特定代码块是 %ul.address - @user.address.split(',').each do |line| %li= line.titleize 我正在使用HAML,我检查了line.titleize,编码是UTF-8.似乎模板是用ASCII-8BIT渲染的,每当我尝试渲染像’?’这样的字符时它就会被搞砸 我正在使用Rails 3.0.5. 我读过詹姆斯爱德华格雷的帖子,但我仍然可以弄明白发生了什么;(. 我真的很感激任何帮助:D. 我也尝试过: "string".force_encoding("UTF-8") 和 # encoding: utf-8 没有运气. 固定 看评论. 解决方法
我刚刚碰到了类似的东西……并且在这个问题的评论中发现了隐藏的修复,但认为值得明确强调:
cookie是ASCII-8BIT,但rails 3模板默认为utf-8.这意味着在视图中使用原始cookie值可能会引发Encoding :: CompatibilityError(如果用户的cookie值不兼容) 修复(如Adolfo Builes所述)是将您的cookie值强制转换为UTF-8,如下所示: cookies["location"].force_encoding('UTF-8') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |