在建立与 MySQL 数据库的连接时,出现以下错误
java.sql.SQLException: Unknown initial character set index '255' received from
server. Initial client character set can be forced via the 'characterEncoding'
property.
谷歌搜索后,我知道我们需要修改 my.ini 或 my.cnf 中的 2 个参数。
我使用的是 MySQL 8.0.11 版,它没有这个文件。
因此,我使用 SQL 命令修改了这些参数:
请注意名称和持续时间是表中的列名。
ALTER TABLE courses MODIFY name VARCHAR(50) COLLATE utf8_unicode_ci;
ALTER TABLE courses MODIFY duration VARCHAR(50) COLLATE utf8_unicode_ci;
ALTER TABLE courses MODIFY name VARCHAR(50) CHARACTER SET utf8;
ALTER TABLE courses MODIFY duration VARCHAR(50) CHARACTER SET utf8;
因此我的桌子看起来像这样
之后,我重新启动了 MySQL 服务器,但仍然出现上述错误。
请注意我正在 tomcat 中部署我的应用程序并运行将连接到数据库的 rest API 调用。连接到数据库时,出现上述错误。
原文由 sachin sarangamath 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 MySQLWorkbench 接口:
首先单击您的连接->
单击选项文件后
并将 character-set-server 和 collation-server 值更改为以下值:
确保通过打开服务并重新启动 mysql 服务器来重新启动 mysql 服务器。