我是靠谱客的博主 忧心金鱼,最近开发中收集的这篇文章主要介绍如何解决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"部分详细说明。

三. 解决办法

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

url: jdbc:mysql://host:port/dbname?characterEncoding=utf8
登录后复制

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

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

最后

以上就是忧心金鱼为你收集整理的如何解决mysql jdbc中文乱码问题的全部内容,希望文章能够帮你解决如何解决mysql jdbc中文乱码问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部