0

ruby on railsでiconvを使って分音符号を削除するのに問題があります

ここに私のコードがあります:

class Diacritics
  def removeDiacritics(text)
    dRemover = Iconv.new("ASCII//TRANSLIT", "UTF-8")
    text = dRemover.iconv(text).gsub(/[^a-zA-Z0-9 ]/, '')
  end
end

これは出力です:

1.9.3-p392 :001 > require "diacritics"
/usr/local/rvm/gems/ruby-1.9.3-p392@persoc/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `block in require': iconv will be deprecated in the future, use String#encode instead.
 => true 
1.9.3-p392 :002 > remover = Diacritics.new
 => #<Diacritics:0x00000004237068> 
1.9.3-p392 :003 > text = "Dánský prezídent"
 => "Dánský prezídent" 
1.9.3-p392 :004 > remover.removeDiacritics(text)
 => "Dnsk prezdent"

「ダンスキープレジデント」に期待

rvm と ruby​​ 1.9.3-p392 を使用した、fedora (httpd) 上のサーバー Apache

誰でも私を助けることができますか?

4

1 に答える 1

0

メソッドを使用できますActiveSupport::Inflector.transliterate

ActiveSupport::Inflector.transliterate("Dánsky prezídent") # => "Dansky prezident"

URL スラッグにこれが必要な場合は、さらに簡単です。

"Dánsky prezídent".parameterize # => "dansky-prezident"
于 2013-04-20T14:43:08.340 に答える