【发布时间】:2016-04-19 17:01:30
【问题描述】:
有一个文本保存在数据库中,采用编码格式: 例如德语字母
Ü
它存储
Ü
我不知道使用哪种方法进行这种转换。在执行搜索时,我需要将字符 Ü 转换为 Ü 值,这在 ROR 中如何轻松完成?
以下不起作用:
'Ü'.html_safe -> Ü
ERB::Util.html_escape('Ü') -> Ü
【问题讨论】:
-
你的数据库中设置了什么编码?
-
没关系。我在不同的列中有数据库值
Ü和Ü。从Ü-> 到Ü的转换不依赖于数据库编码。与此无关。 -
没错!知道您的数据库列可以并且已经拥有
Ü,我们可以排除 ActiveRecord 内部。这给我们留下了数据输入:视图和控制器。Ü列的数据是否来自用户输入?如果您修复了那一点,您将解决问题的原因。否则,如果您只想快速修复或解决问题,请查看htmlentitiesgem。它会为您完成转换。
标签: ruby-on-rails character-encoding html-escape-characters