加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql jdbc中文乱码怎么办

发布时间:2022-06-23 07:03:12 所属栏目:MySql教程 来源:互联网
导读: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 CO
  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 jdbc中文乱码怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读