首页 > 数据库 > MySQL > 正文

mysql jdbc中文乱码怎么办

2022-07-22 21:32:09
字体:
来源:转载
供稿:网友
  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中文乱码怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助。

(编辑:错新网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表