【发布时间】:2018-07-23 12:59:10
【问题描述】:
mysql5 db已经使用了latin1和latin1_general_ci字符编码设置,所有表也使用了这个字符集。
迁移到 mysql8 后(从 mysql5 到 mysql8 创建和恢复转储)错误:Unknown character set index for field '255' received from server. 连接到 db 时发生。
为什么会这样?,我想可能与mysql8默认使用utf8mb4字符集编码有关。
但是utf8mb4编码比latin1要宽,所以必须支持从latin1(1Byte)迁移到utf8mb4(4Bytes)不是反之亦然。
将 db 的字符集更改为 latin1 并将排序规则更改为 latin1_swedish_ci 不会生效。
有一些mysql8参数:
显示 'char%' 等变量;
character_set_client utf8
character_set_connection utf8
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8
character_set_server utf8mb4
character_set_system utf8
character_sets_dir C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\
MySql8 连接器驱动是:
mysql-connector-java v. 3.1.14
【问题讨论】:
标签: mysql mysql-connector