字符串大写不起作用

时间:2016-03-01 08:03:11

标签: ruby-on-rails ruby capitalization

字符串大写不起作用的原因是什么?

数据库专栏:

t.string   "name",       limit: 255

一些例子:

flower_name = Flower.find_by(id: 1).name #=> "chamomile©"

尝试大写(获得相同的输出):

flower_name.capitalize #=> "chamomile©"

检查它是否为字符串:

flower_name.is_a?(String) #=> true

2 个答案:

答案 0 :(得分:5)

capitalize仅适用于ASCII字符。你的字符串是否有可能包含非ascii字母?

尝试

flower_name.mb_chars.capitalize.to_s

答案 1 :(得分:2)

如果您使用 Rails> = 3

mb_chars方法可能对您有所帮助。

 'æ-ý'.mb_chars.upcase

 => "Æ-Ý"

如果你不使用Rails ,你可以:

  • 直接使用active_support gem:

    require 'active_support/core_ext/string/multibyte'

  • 尝试unicode gem。

我希望你能在这个类似的问题中找到答案:Special character uppercase