码迷,mamicode.com
首页 > 数据库 > 详细

从内存中写入mysql中文数据乱码解决

时间:2016-12-30 10:32:29      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:sts   控制   java   drop   setting   null   ref   utf8编码   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中文数据乱码解决

标签:sts   控制   java   drop   setting   null   ref   utf8编码   mysql   

原文地址:http://www.cnblogs.com/nuccch/p/6235652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!