Boa tarde pessoal.
Estou utilizando o intant rails com ruby v.1.8.6 e rails 2.0.2 com um
servidor sqlserver2000, minha base de dados usa o collation
SQL_latin1_general_CP1_CI_AS, quando tragos strings com acentuação e
cedilha não consigo visualizar os carateres corretos, sei que para
exibir corretamente o texto no ruby tenho que usar UTF-8. Como posso
fazer pra mudar o collation da minha base ou converter as string para
UTF-8 na hora de exibir?
Desde já agradeço
Eduardo
Peço desculpas pelo meu Português. Estou usando o Google Translate.
Você precisa informar o arquivo database.yml que pretende conversar
com o banco de dados em UTF-8. Para fazer isso adicione encoding: utf8
para o seu banco de dados no database.yml. Deixe-me saber como isso
vai.
Obrigado,
B.
Por favor, pare top postagem
http://en.wikipedia.org/wiki/Posting_style
“The traditional style was for a long time to post the answer below as much of the quoted original as was necessary to understand the reply (bottom or inline). Many years later, when email became widespread in business communication, it however became a widespread policy to reply above the entire original and leave it untouched (and without any prefixes at the beginning of each line) below the reply.”
Q: Why is top-posting such a bad thing?
Q: What is the most annoying thing in e-mail?
Por favor, pare top postagem
"The traditional style was for a long time to post the answer below as much
of the quoted original as was necessary to understand the reply (bottom or
inline). Many years later, when email became widespread in business
communication, it however became a widespread policy to reply above the
entire original and leave it untouched (and without any prefixes at the
beginning of each line) below the reply."
This list isn't a business communication - it's a reference resource,
and that "policy" was imposed because one company's email software
that just "did it that way" - irregardless of any user preference.
Posting style - Wikipedia
Read the whole of that article... especially the section on "Choosing
the proper posting style". If after that you still insist on
top-posting, so be it :-/
*shrug*
I reply to the email that I receive which uses the standard method of top posting. Why? Because if you bottom-posted all the time or unnecessarily inline quoted it would make this thread: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/6c25db52c2d743aa and others like it unreadable.
I’m done discussing posting styles. Let’s return to helping each other out which is the main reason for this group.
I reply to the email that I receive which uses the standard method of top
posting.
What "standard"? Which RFC says that there is any "standard"?
if you .... unnecessarily
inline quoted it would make this thread:
http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/6c25db52c2d743aa
and others like it unreadable.
no... top-posting makes it impossible to maintain a coherent
conversation, and introduces confusion about what replies refer to,
because there's no context.
I'm done discussing posting styles.
So I guess you *didn't* bother reading the rest of the article you
waved as defence of your position? ... hence my *shrug*
PS You've got a frightfully annoying email client too, which sends
*to* the person, and CCs the group - so further replies go to you, not
the group... :-/
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::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