Недавно я изменил DDL VIEW с помощью Workbench, добавив фильтр со строками китайских символов. DDL может быть успешно сохранен и отлично работает сразу после изменения. Однако сама модификация в DDL через несколько часов превратилась в искаженные символы. База данных character_set_database и набор символов некоторых столбцов изначально были utf8 (utf8_general_ci). После получения ошибки я сделал все из них utf8mb4 с сопоставлением по умолчанию (utf8mb4_0900_ai_ci). Искаженные символы действительно изменились после изменения набора символов, но они все еще искажены. Есть идеи?
Пример:
DDL сразу после модификации: где m
.NAME
не в ('王曉明','張小英')
DDL через несколько часов после модификации: где m
.NAME
не в ('???D?' ,'??\?')
Среда:
MYSQL 8.0.13 Community Server — GPL
Windows 10 Professional, 64-разрядная версия (традиционный китайский; набор символов для ввода: UNICODE)
Workbench 8.0.13
Показать переменные типа '%char%'
Результат:
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\
CHARACTER SET
. 28.04.2020