ruby-on-rails - Rails 标题化导致“不兼容的编码正则表达式匹配”
问题描述
我的 rails 应用程序给出了 ActionView::Template::Error 的消息:
不兼容的编码正则表达式匹配(ISO-8859-1 正则表达式与 UTF-8 字符串)
以下代码在titleize
调用中文字符串返回时触发此错误。(xxd
给出e8bf 94e5 9b9e
这两个字符。)
<%= link_to t(:back).titleize, records_path %>
这不会在我的工作站中引发错误,只会在我的服务器上引发错误。
我该如何解决这个问题?原因是什么?
解决方案
我有这个问题,为了解决这个问题,我重写titleize
方法如下:
app/classes/string.rb
class String
def titleize
separator = ' '
self.strip.split(separator).map do |part|
part.first.capitalize + part[1..part.size]
end.join(separator)
end
end
推荐阅读
- pandas - 从数据框创建透视列表
- c# - 可以将 C# MsTest 项目转换为 Microsoft.NET.Sdk 项目格式吗?
- c++ - C++ 从资源文件运行 .exe
- asp.net-mvc - 在我的视图中使用 If else 条件时未显示 JQuery DataTable 分页
- javascript - Ajax modal submit parse json response for errors in form, error message repeating itself over both fields
- c++ - 错误 c++ 没有可行的重载 '=' ,我的 operator= 有问题
- javascript - 将数组传递给组件并更新它
- sparql - 检索在任意日期之前/之后最后更新的属性
- jenkins - 在 Jenkins 多分支管道中指定 GitHub 项目 URL
- c# - 如何从 Asterisk AGI Console.Read() n 行数