遇到了一个搞了很久的问题,插入数据的时候会有中文乱码,怎么解决?
答:第一种方式:
在连接数据库的时候指定编码方式,
原来是:url=jdbc:mysql://localhost:3306/dongmu
改成:url=jdbc:mysql://localhost:3306/dongmu?characterEncoding=utf8即可。
第二种方式:修改服务端的mysql配置文件,编辑my.cnf文件(window下是ini文件),在[mysqld]下添加一行character_set_server = utf8,然后重启mysql服务。
原因:查阅官方文档,jdbc在连接数据库时,会先查询服务端的character_set_server值,再确定连接时使用的编码。要想覆盖客户端的自动检测编码功能,可以使用characterEncoding属性
官方文档地址:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-charsets.html
其他语言连接mysql数据库时的字符集
于 2022-01-22 17:59:06 首次发布