[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Problem with adding a new record into MySQL DB

hongseok.yoon

7/12/2006 4:46:00 AM

MySQL DB's character-set is UTF8 and RoR(Ruby on Rails)'s database.yml
has a line 'encoding: utf8'.
If I add a new record using RoR's new action via Web Browser, Korean is
stored without problem.
If I set fiels explicitly like 'MyActionRecord['fieldname'] = '<some
Korean letters>', and invoke save method... yes, it works, but Korean
is not saved correctly. English was okay with same code.

How can I convert Korean letters to UTF8 characters? I did many tries
and finally I'm here.

irb(main):001:0> "??" <-- I can't sure you guys can see this
letter. They are just two Korean letters.
=> "\307\321\261\333" <--- What the hell.....T^T
irb(main):002:0> "aaa" <--- English, of course.
=> "aaa" <--- No problem. - -

Please help...

2 Answers

Phillip Hutchings

7/12/2006 5:38:00 AM

0

On 7/12/06, hongseok.yoon@gmail.com <hongseok.yoon@gmail.com> wrote:
> MySQL DB's character-set is UTF8 and RoR(Ruby on Rails)'s database.yml
> has a line 'encoding: utf8'.
> If I add a new record using RoR's new action via Web Browser, Korean is
> stored without problem.
> If I set fiels explicitly like 'MyActionRecord['fieldname'] = '<some
> Korean letters>', and invoke save method... yes, it works, but Korean
> is not saved correctly. English was okay with same code.

Firstly you want the rails list at
http://lists.rubyonrails.org/mailman/list...

Secondly chances are you're not sending your web pages with the
content-type set correctly. Use something like LiveHTTPHeaders for
Firefox (don't have a URL I'm sorry) and see if you get a line like
this:
Content-Type: text/html; charset=utf8

you're sending UTF8 encoded pages, if not then you need to send it.
I'm not sure on how to do this in Rails, see the Rails list.
--
Phillip Hutchings
http://www.sit...

Logan Capaldo

7/15/2006 4:01:00 AM

0


On Jul 12, 2006, at 12:50 AM, hongseok.yoon@gmail.com wrote:

> MySQL DB's character-set is UTF8 and RoR(Ruby on Rails)'s database.yml
> has a line 'encoding: utf8'.
> If I add a new record using RoR's new action via Web Browser,
> Korean is
> stored without problem.
> If I set fiels explicitly like 'MyActionRecord['fieldname'] = '<some
> Korean letters>', and invoke save method... yes, it works, but Korean
> is not saved correctly. English was okay with same code.
>
> How can I convert Korean letters to UTF8 characters? I did many tries
> and finally I'm here.
>
> irb(main):001:0> "??" <-- I can't sure you guys can see this
> letter. They are just two Korean letters.
> => "\307\321\261\333" <--- What the hell.....T^T
> irb(main):002:0> "aaa" <--- English, of course.
> => "aaa" <--- No problem. - -
>
> Please help...


I can see it. :)
Secondly, the output from irb is the #inspect string. Try doing
puts "??"

and see if that gives you what you expect. (Works good for me)