在建立与MySQL数据库的连接时,我收到以下错误
java.sql.SQLException: Unknown initial character set index '255' received from
server. Initial client character set can be forced via the 'characterEncoding'
property.
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索时,我知道我们需要在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;
Run Code Online (Sandbox Code Playgroud)
因此我的桌子看起来像这样
在此之后,我重新启动了MySQL服务器,但我仍然遇到上述错误.
请注意我在tomcat中部署我的应用程序并运行将连接到数据库的rest API调用.连接到数据库时,我收到上述错误.
小智 10
在第 8 版中,默认字符集发生了变化。当您将字符集添加到连接 URL 时,如 ?characterEncoding=latin1 可能会起作用。
小智 7
使用MySQLWorkbench接口:
首先单击您的连接 - >
单击选项文件后
并将字符集服务器和排序规则服务器值更改为以下值:
确保通过打开服务并重新启动mysql服务器来重启mysql服务器.
您可以在 url 字符串后添加?characterEncoding=latin1"如下内容,例如:
"jdbc:mysql://localhost/yourDB?characterEncoding=latin1";
Run Code Online (Sandbox Code Playgroud)
它可能会起作用。
| 归档时间: |
|
| 查看次数: |
19688 次 |
| 最近记录: |