Как я могу получить эквивалентные символы не-utf8 из строки utf8? - PullRequest
2 голосов
/ 23 января 2011

ruby ​​1.8.6, rails 2.3.8

Я делаю некоторые уловки, чтобы написать несколько методов для класса, и это хорошо работает (впервые играю с метапрограммированием: p), за исключением того, что некоторые строкичто нужно войти в методы (как код, а не строки) с акцентированными символами и т.д ...

например, мне нужно получить "limitao" из строки "restrição", как я могу сделатьчто, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 23 января 2011

Check Unidecode gem!

"restrição".to_ascii #=> "restricao"
0 голосов
/ 23 января 2011

Используйте Iconv с функцией TRANSLIT, например:

require 'iconv'
Iconv.conv("ASCII//TRANSLIT", "UTF-8", "restrição") == "restricao"
...