Java convert ISO-8859-1 to UTF-8 with correct unicode characters
I have some ISO-8859-1 text that I have tried to convert to UTF-8 but end up with some characters that are not mapped correctly. I have been using plethora of standard built-in Java charset conversion which are pretty much all based on Charset.decode and the built-in Chars开发者_Python百科etDecoder.
This leads to two problems:
- I have some characters that look fine in ISO but crap in Java since I output in UTF-8 as do most java apps.
- I cannot insert into MySQL even though its set to UTF-8
For MySQL I get the exception (see link above):
Caused by: java.sql.SQLException: Incorrect string value: '\xC2\x9Esk\xC3\xA9...' for column 'b' at row 1
Is there a Java iconv or better Character decoder/mapper than whats built-in?
Are you certain that you have ISO-8859-1? You might have some Win-1252, which can be sorta close except for a dozen or so characters. That \x9E raises that suspiscion with me.
Try labeling your source as WIN-1252 and it should convert correctly.
精彩评论