如何解决mysql jdbc中文乱码问题

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

如何解决mysql jdbc中文乱码问题

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

如何解决mysql jdbc中文乱码问题?

jdbc mysql写入中文乱码解决

一. 问题

数据库编码:utf8

mysql> create database dbnameDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

表编码:utf8

drop table if exists `test`;create table `test` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`name` varchar(50) default '',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=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”部分详细说明。

如何解决mysql jdbc中文乱码问题

三. 解决办法

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

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

推荐学习:《mysql视频教程》

以上就是如何解决mysql jdbc中文乱码问题的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/182919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 08:25:43
下一篇 2025年11月1日 08:27:54

相关推荐

发表回复

登录后才能评论
关注微信