Пожалуйста, предоставьте ссылку на Windows UNICODE - нам нужно определить, действительно ли это "кодовые точки Unicode" или "UTF-8". Если вы можете предоставить шестнадцатеричный дамп небольшого количества текста, я могу вывести ответ из этого.
В частности, 王曉明張小英
, закодированный в UTF-8 (MySQL в utf8 или utf8mb4) имеет шестнадцатеричное значение
E78E8B E69B89 E6988E E5BCB5 E5B08F E88BB1
(пробелы добавляются к отдельным символам.) Для Unicode (UCS2 * MySQL):
738B 66C9 660E 5F35 5C0F 82F1
Итак, если вы получите второй гекс, то вы нужно объявить, что клиент использует ucs2, а не utf8mb4. Между тем вполне разумно, чтобы столбцы в ваших таблицах были utf8mb4. (И я рекомендую такой.)
«Набор символов» и «сопоставление»: utf8mb4
- «набор символов»; это определяет "кодирование", если байты. utf8mb4_0900_ai_ci
- это «сопоставление»; он определяет порядок сортировки символов. У вас проблема с кодированием, а не проблема с сортировкой.
«через несколько часов после модификации» - это напоминает мне о производном компьютерного термина «ошибка». Большинство оригинальных компьютеров были построены из вакуумных трубок. Бабочки были привлечены к огням, исходящим для труб. Иногда они вызывали проблемы с оборудованием.
Hex A4FDBEE5A9FA
- это кодировка Big5 для 王曉明
.