首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到MySQL 8。从服务器收到的字段'255‘的未知字符集索引。异常

升级到MySQL 8。从服务器收到的字段'255‘的未知字符集索引。异常
EN

Stack Overflow用户
提问于 2018-07-23 12:59:10
回答 2查看 5.7K关注 0票数 1

mysql5 db已用于latin1和latin1_general_ci字符编码设置,所有表也使用此字符集。

迁移到mysql8(从mysql5-mysql 8创建并恢复转储)之后,从服务器收到的字段'255‘的错误:未知字符集索引。在连接到db时发生。

为什么会发生这种情况呢?我认为这可能与mysql8使用utf8mb4字符集编码作为默认值有关。

但是utf8mb4编码比latin1更宽,所以必须支持从latin1(1 1Byte)到latin1的迁移,而不是反向迁移。

将数据库的字符集更改为latin1,将排序规则更改为latin1不起作用。

有一些mysql8参数:

显示像‘char%’这样的变量;

代码语言:javascript
复制
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连接器驱动程序是:

代码语言:javascript
复制
mysql-connector-java v. 3.1.14
EN

回答 2

Stack Overflow用户

发布于 2020-01-07 10:23:46

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

修复方法是(在我的例子中,我们前面使用了latin1):在connection中提供字符编码类型。

代码语言:javascript
复制
?characterEncoding=latin1

以下是在java和mysql之间使用的可用类型的列表。这是java连接器jar的正式文档。

票数 1
EN

Stack Overflow用户

发布于 2018-10-30 13:42:27

解决此问题的唯一解决方案是从以下网站下载最新版本的连接器。https://dev.mysql.com/downloads/connector/j/

当您到那里时,有一个选项可以选择操作系统,如果您使用windows,然后选择平台无关选项,则会出现一个下载选项.下载zip文件并解压缩it.Then,转到您的项目中,并将这个jar文件添加到libraries.So中,这将解决您的所有问题。希望这个解决方案对你有用..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51479441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档