mysql5 db已用于latin1和latin1_general_ci字符编码设置,所有表也使用此字符集。
迁移到mysql8(从mysql5-mysql 8创建并恢复转储)之后,从服务器收到的字段'255‘的错误:未知字符集索引。在连接到db时发生。
为什么会发生这种情况呢?我认为这可能与mysql8使用utf8mb4字符集编码作为默认值有关。
但是utf8mb4编码比latin1更宽,所以必须支持从latin1(1 1Byte)到latin1的迁移,而不是反向迁移。
将数据库的字符集更改为latin1,将排序规则更改为latin1不起作用。
有一些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发布于 2020-01-07 10:23:46
当我从我的Java应用程序执行脚本时,我遇到了这个问题。它显示的错误与主题行中提到的相同。
修复方法是(在我的例子中,我们前面使用了latin1):在connection中提供字符编码类型。
?characterEncoding=latin1以下是在java和mysql之间使用的可用类型的列表。这是java连接器jar的正式文档。
发布于 2018-10-30 13:42:27
解决此问题的唯一解决方案是从以下网站下载最新版本的连接器。https://dev.mysql.com/downloads/connector/j/
当您到那里时,有一个选项可以选择操作系统,如果您使用windows,然后选择平台无关选项,则会出现一个下载选项.下载zip文件并解压缩it.Then,转到您的项目中,并将这个jar文件添加到libraries.So中,这将解决您的所有问题。希望这个解决方案对你有用..。
https://stackoverflow.com/questions/51479441
复制相似问题