gpt4 book ai didi

mysql - 升级到 MySQL 8。从服务器收到字段 '255' 的未知字符集索引。异常(exception)

转载 作者:行者123 更新时间:2023-11-29 17:17:27 25 4
gpt4 key购买 nike

mysql5 db已使用latin1latin1_general_ci字符编码设置,所有表也使用此字符集。

迁移到 mysql8 后(从 mysql5-to-mysql8 创建并恢复转储),错误:从服务器收到的字段“255”的字符集索引未知。在连接到数据库时发生。

为什么会出现这种情况?我想可能与mysql8默认使用utf8mb4字符集编码有关。

但是 utf8mb4 编码比 latin1 更宽,因此必须支持从 latin1(1Byte) 迁移到 utf8mb4(>4字节),反之则不然。

将数据库字符集更改为 latin1 并将排序规则更改为 latin1_swedish_ci 不会生效。

有一些 mysql8 参数:

SHOW VARIABLES LIKE '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

最佳答案

当我从 Java 应用程序执行脚本时遇到此问题。它显示与主题行中提到的相同错误。

修复方法是(在我的例子中,因为我们之前使用 latin1):在连接 url 中提供字符编码类型。

?characterEncoding=latin1

以下是 java and mysql 之间使用的可用类型列表。这是java-mysql连接器jar的官方文档。

关于mysql - 升级到 MySQL 8。从服务器收到字段 '255' 的未知字符集索引。异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com