Article View: pl.comp.lang.ruby
Article #74rails - mysql - problem z polskimi znakami
From: Pawel Chmielewski
Date: Wed, 26 Jul 2006 23:42
Date: Wed, 26 Jul 2006 23:42
51 lines
2431 bytes
2431 bytes
Witam.
Natknąłem się na bardzo dziwaczny problem dotyczący połączenia railsowego
ActiveRecord'a i mysqla. Zacznijmy od czegoś, co działa poprawnie:
====================================
@napis2="z bazy2: "
dbh = Mysql.real_connect("localhost", "someuser", "somepassword",
"somedatabase", 3506)
res = dbh.query("SELECT place FROM helps")
res.each do |row|
row.collect! { |v| v == nil ? "NULL" : v }
@napis2 = @napis2+row[0]+" "
end
res.free
dbh.close
====================================
Ten kawałek kodu, wstawiony do kontrolera i pokazany w view, zwraca
dokładnie to co chcę:
bazy2: Toruń Ostaszewo Włocławek ąęółśźżć
Czyli, że wszystko jest OK - polskie znaki są poprawnie zakodowane w bazie
(UTF-8), driver odczytuje poprawnie, przeglądarka też - meta charset UTF-8
ustawione.
Z drugiej strony, przy następującym wykorzystaniu railsowegp ORMa:
====================================
x=Help.find(:all)
@napis1="z bazy: "
for i in 0..5
@napis1=@napis1+x[i].place+" "
end
@napis1 = @napis1
====================================
dostaję, coś takiego:
z bazy: Toruń Ostaszewo Włocławek ąęółśźżć Bydgoszcz
(celowo koduję ten post w UTF-8, aby było jasne, co widać... Dla tych, co
nie widzą, wyjaśniam, że polskich znaków, w tym napisie powyżej, nie
uświadczysz).
Ot i cały problem. Do głowy przyszło mi tylko to, że coś się musi złego
dziać pomiędzy wyciągnięciem danych z bazy a włożeniem ich do obiektu -
gdzieś tam wewnątrz ActiveRecord.
Niestety, nie znalazłem tego czegoś.
Jakieś pomysły? Ktoś jeszcze się o to potknął?
Pawel
Technical Details
Message-ID:
<ea8ukk$o6p$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: Pawel Chmielewski <dzemchmielewski@gazeta.pl> Newsgroups: pl.comp.lang.ruby Subject: rails - mysql - problem z polskimi znakami Date: Thu, 27 Jul 2006 01:42:12 +0200 Organization: Onet.pl Lines: 51 Message-ID: <ea8ukk$o6p$1@news.onet.pl> NNTP-Posting-Host: dynamic-86-111-99-181.tvk.torun.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1153957332 24793 86.111.99.181 (26 Jul 2006 23:42:12 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Wed, 26 Jul 2006 23:42:12 +0000 (UTC) X-Sender: fBd2Y1bl6nHWKM6loOXZZ6CC299gW0rQbZAsTRi0Hd4= User-Agent: KNode/0.10.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit