Problem with adding a new record into MySQL DB

  • Follow


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'] =3D '<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> "=ED=95=9C=EA=B8=80"    <-- I can't sure you guys can see =
this
letter. They are just two Korean letters.
=3D> "\307\321\261\333"     <--- What the hell.....T^T
irb(main):002:0> "aaa"     <--- English, of course.
=3D> "aaa"                        <--- No problem. - -

Please help...

0
Reply hongseok.yoon (19) 7/12/2006 4:45:31 AM

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/listinfo/rails

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.sitharus.com/

0
Reply sitharus (23) 7/12/2006 5:37:42 AM


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, =20
> Korean is
> stored without problem.
> If I set fiels explicitly like 'MyActionRecord['fieldname'] =3D '<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> "=ED=95=9C=EA=B8=80"    <-- I can't sure you guys can =
see this
> letter. They are just two Korean letters.
> =3D> "\307\321\261\333"     <--- What the hell.....T^T
> irb(main):002:0> "aaa"     <--- English, of course.
> =3D> "aaa"                        <--- No problem. - -
>
> Please help...


I can see it. :)
Secondly, the output from irb is the #inspect string. Try doing
puts "=ED=95=9C=EA=B8=80"

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


0
Reply logancapaldo (886) 7/15/2006 4:00:48 AM

2 Replies
22 Views

(page loaded in 0.056 seconds)

Similiar Articles:













7/22/2012 3:44:01 AM


Reply: