简体   繁体   中英

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 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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM