您的位置:宽带测速网 > mysql教程 > mysql jdbc中文乱码怎么办

mysql jdbc中文乱码怎么办

2025-06-21 11:22来源:互联网 [ ]

mysql jdbc中文乱码的解决办法就是在jdbc url中明确设置characterEncoding属性为utf8,代码如“jdbc:mysql://host:port/dbname?characterEncoding=utf8”。

本文操作环境:Windows7系统、Mysql5.7版、Dell G3电脑。

jdbc mysql写入中文乱码解决

一. 问题

数据库编码:utf8

mysql>createdatabasedbnameDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;

表编码:utf8

droptableifexists`test`;createtable`test`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'ID',`name`varchar(50)default'',`create_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间',PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;

jdbc url:

url:jdbc:mysql://host:port/dbname

数据库和数据库表都已经使用了utf8编码,但是插入中文数据时仍然乱码。

二. 原因

在jdbc中连接mysql时,jdbc url参数中有一个属性characterEncoding控制字符串编码,该值默认为:autodetect。需要明确设置为utf8,可解决问题。

MySQL文档解释如下,详见:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html中"Setting Configuration Properties"部分详细说明。

三. 解决办法

在jdbc url中明确设置characterEncoding属性为utf8。

url:jdbc:mysql://host:port/dbname?characterEncoding=utf8