У меня есть таблица MySQL в производстве с кодировкой latin1_swedish_ci (она же latin1).
Прямо сейчас есть это входящее содержимое ( String : "한밤의" ) в формате UTF-8, которое необходимо вставить в это поле столбца TEXT, называемое keywords в таблице.
Когда я пытаюсь выполнить INSERT, я получаю эту ошибку:
Incorrect string value: '\xED\x95\x9C\xEB\xB0\xA4...' for column 'keywords' at row 1
Я пробовал всевозможные способы в своем коде Java, чтобы попытаться преобразовать UTF8 в ISO-8859-1, как показано ниже, и я все еще получаю ту же ошибку:
String convertedString = new String(originalString.getBytes("UTF-8"), "ISO-8859-1");
Я знаю, что в StackOverflow есть решения, в которых упоминается изменение кодировки таблицы MySQL на UTF8 с latin1, и я, к сожалению, не могу этого сделать, потому что это главный сервер MySQL в реальном времени, а также исторически он использовал latin1.
Есть ли у кого-нибудь предложения по исправлению этой ошибки «Неверное строковое значение»?
Спасибо.
ISO-8859-1
никоим образом не участвует в том, что вы показываете. Вы надеялись на한밤
, верно? - person Rick James   schedule 06.05.2016