Eu tentei usar o encoding: utf8 no database.yml, mas para o sql server
não funciona. tentei então um helper para a classe string com o
seguinte código
-----------------------------------------------------------code starts
here-----------------------------------------------------------------------
class String
# Returns a valid DateTime object if the object can be converted
according to +format+, nil otherwise.
# FIXME: Corrigir o erro de validação em colunas contendo data +
hora.
gem 'chardet'
require 'UniversalDetector'
def parse_date(format =
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS[:default])
begin
DateTime.strptime(self, format)
rescue ArgumentError
end
end
def to_utf8
@encode_type = UniversalDetector::chardet(self)["encoding"]
#detects the str encoding
Iconv.iconv("UTF-8", @encode_type, self).to_s #converts the
current encoding to UTF-8 of the present string
end
end
-----------------------------------------------------------code ends
here-----------------------------------------------------------------------
O chardet é uma gem que pode retornar o tipo de codificação utilizada
na string, o tipo de codificação retornado para o
SQL_latin1_genreal_CP1_CI_AS é o ISO-8859-5 e o iconv consegue passar
a string para utf8, porém os resultados ainda não são satisfatórios
pois os caracteres acentuados e as cedilhas não são exibidos
corretamente. Veja abaixo:
O que deveria exibir:
Fundação Ecumênica de Proteção ao Excepcional - PARANC
está exibindo:
Fundaчуo Ecumъnica de Proteчуo ao Excepcional - PARANС
Sinto que estou chegando perto, alguém sabe como prosseguir deste
ponto?
Desde já agradeço
Edu
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.