首页 > 解决方案 > MYSQL:VIEW的DDL中的字符串几个小时后变成乱码

问题描述

我最近修改了一个带有Workbench的VIEW的DDL,添加了一个带有中文字符串的过滤器。修改后的 DDL 可以成功保存并完美运行。但是,DDL 中的修改本身在几个小时后变成了乱码。character_set_database 和一些列的字符集原来是utf8(utf8_general_ci)。收到错误后,我将它们全部设为 utf8mb4,并使用默认排序规则(utf8mb4_0900_ai_ci)。更改字符集后,乱码符号确实发生了变化,但它们仍然是乱码。任何想法?

示例:
修改后的 DDL: where m. NAME未在 ('王晓明','张小英')
DDL 修改几小时后: where m. NAME不在 ('???D?','??\?')

环境:
MYSQL 8.0.13 Community Server - GPL
Windows 10 Professional 64bit(繁体中文;打字输出字符集: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\

标签: mysqlutf-8viewddlcharacter-set

解决方案



推荐阅读