SQL не работает с не-ascii символом

У меня есть операция SQL со словом "şalom", которая содержит не-ASCII символ. И заявление (которое я разместил ниже) работает совершенно нормально:

UPDATE `myTable1` SET `description`='The topic for this learning plan starts with the \"ÅŸ\" ( sh ) letter which is a non-ASCII char. ', `topic`='ÅŸalom'' WHERE `RecID` = '1308'"

однако, сразу после этого заявления я должен запустить еще один, чтобы поместить слово "šalom" в другую таблицу, но этот "НЕИСПРАВНОСТЬ". Сообщенная ошибка следующая:

INSERT INTO `myTable2` (`TOPIC_Name`, `TOPIC_AddedOn`) VALUES ('[Åÿalom]', '2018-04-12'). 

LAST SQL ERROR:

HY000, 1366, Incorrect string value: '\xC5\xFFalom...' for column 'Topic_Name' at row 1

Мы проверили структуры таблиц и структуры полей и увидели, что они идентичны и предназначены для принятия utf-8.

Мы не можем понять, почему одно утверждение проходит, а другое задыхается. Есть идеи?

1 ответ

ÅŸ это моджибаке для ş, Когда рассматривается как latin1, ÅŸ шестнадцатеричный C5FF. См. Проблема с символами UTF-8; то, что я вижу, не то, что я хранил для обсуждения "Лучшей практики" и "Маджибаке".

Другие вопросы по тегам