Use rb_str_conv_enc_opts to transcode error strings in MySQL < 5.5
Use String.scrub! if available
Transcode error text more aggressively. FIXME: might be producing UTF-8 when connection encoding is expected.