Java convert ISO-8859-1 to UTF-8 with correct unic

2019-07-23 03:45发布

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 CharsetDecoder.

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?

1条回答
Fickle 薄情
2楼-- · 2019-07-23 04:20

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.

查看更多
登录 后发表回答