如何通过 JDBC 接口正确将 UTF-8 字符串写入 MySQL
问题:
尝试使用 JDBC 接口将 UTF-8 字符串插入 MySQL 数据库时,数据库中的数据显示不正确。
背景:
代码提供的代码片段演示了连接数据库、创建表、插入包含 UTF-8 数据的行以及检查插入的数据的过程。但是,输出显示 UTF-8 字符已损坏。
故障排除:
1。验证 MySQL 配置编码:
确保 MySQL 配置文件(my.cnf 或 my.ini)包含正确的字符编码设置。使用以下命令检查设置:
show variables like 'character%'; show variables like 'collation%';
2.修改配置文件(如有必要):
根据您的 MySQL 版本,将以下行添加到配置文件中:
[mysqld] character-set-server = utf8 character-set-filesystem = utf8
OR
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server=utf8
3.配置 JDBC 连接:
建立 JDBC 连接时,指定以下参数:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");
4.删除冗余代码:
根据提供的代码片段,建议从代码中删除以下行:
query = "set character set utf8"; stat.execute(query);
预期结果:
实施这些更改后,UTF-8 字符串应该正确写入并显示在 MySQL 数据库中。
以上是如何确保通过 JDBC 正确地将 UTF-8 字符串插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!