Ruby chinese character encoding problem with SQL


My SQL query has some chinese characters which are getting messed up.
The SQL server uses gb2312(chinese) encoding and so in my Ruby script I
use Iconv to convert from UTF-8 to gb2312. The conversion seems to work
fine, I have tried dumping the output to a text file and it all looks
great, but when it’s sent to the SQL server the chinese character get
messed up(which I got to know after looking at the trace log). I’m using
the DBI module to connect to the SQL server and “execute” function to
send the query. Can anyone please suggest a fix ?


Dear Bob,

maybe you can use Mysql.escape (see the “Including Special Characters
in Statement Strings” of
to produce proper output.
I don’t know any Chinese myself, but I had a similar problem with
European accents in web page addresses recently. The most elegant
solution was to use CGI.escape(string), so maybe something similar
will work for you using MySql.

Best regards,