Forum: Ruby Shift_jis encoding issue?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2a0f7bd2c54fbc44329d69555b96f1c5?d=identicon&s=25 Kev Jackson (Guest)
on 2006-03-27 11:35
(Received via mailing list)
Not sure what's happening here:

I have a yml file with the following

address_1: '和歌山県和歌山市'

I'm loading this into a structure (@test_data) and then accessing it to
insert the values into text_fields in ie through watir. So basically I'm
relying on a few thousand dependencies :0

In VIM, the value in the yml file is correct, but when I print out the
value to the cmd prompt, I get :

"\230a\211\314\216R\214\247\230a\211\314\216R\216s"

Which looks like a classic encoding issue (using 3 byte rather than 2 or
vice-versa).

Given that Ruby hails from Japan, I'd have thought that someone has seen
something similar to this and would have a work-around/solution.
Googling hasn't provided me with anything so far. Right now I'm not sure
if this is a YAML/Syck issue, a Ruby issue, a or Windows issue. I have
installed the Japanese laguage pack on windows and all the text from the
server is displayed correctly in IE, so my guess is that Windows is
configured correctly. As I mentioned, VIM is displaying the text
correctly, so it seems to be saved to the file-system using the correct
encoding, but after reading using YAML it doesn't appear to be using the
same encoding...

I've just tried require 'jcode' to see if this resolves it - so far no
luck

Any help greatly appreciated

Thanks
KEv
2a0f7bd2c54fbc44329d69555b96f1c5?d=identicon&s=25 Kev Jackson (Guest)
on 2006-03-27 11:49
(Received via mailing list)
Ok, some more info:

$KCODE = 'SHIFT_JIS'
require 'jcode'

semi-works!

I can print the correct value out to the cmd prompt with a simple:
p @test_data['pg_401']['address_1']

However with:
@@ie.text_field(:id,
@test_data['pg_401']['address_1_field']).set(@test_data['pg_401']['address_1'])

I'm getting garbage. Now I've just tested copy/paste manually into ie
and that works fine, so it looks like YAML/Syck is off the hook and now
it seems to be more of a Watir problem.

Thanks
Kev
This topic is locked and can not be replied to.