关于mysql的中文乱码全解 java方式


哎,没想到啊,这几次做项目都每次使用mysql的时候,都需要去解决mysql的中文乱码问题,而且到处去网上找资料,这次我都找烦了,所以就把我遇到的的连接mysql的解决方案全部写出来一下。


1.首先mysql的默认字符编码是:latin1

2.中文乱码一般出现的问题:数据库的字符编码没有设置,表的编码设置,编译器的字符编码。而需要重点注意的是,这三个地方的字符编码都需要一直。这次我使用的项目是GBK,而数据库是UTF8,结果导致我写入数据,一直都是错误的,所以要注意这三地方的字符编码一直、、、

修改数据库的字符编码:其中db和table是数据库和表的名字

ALTER DATABASE db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 
ALTER TABLE table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci


2.连接数据库的时候设置字符连接:

String url = "jdbc:mysql://localhost/" + dbname + "?useUnicode=true&characterEncoding=utf-8";


一般通过这些方法就可以完全解决数据库的编码问题,当然有的时候通过mysql的控制台select出来的数据还是乱码,当然的啦,因为cmd的字符编码是GBK,而数据库读取出来的数据式UTF-8的。所以可能会出现乱码,但是在数据上面一点错的没有的哈。。。。但是如果你想解决的话,就让数据库使用gbk吧,哈哈


----------------------------------------------------------------------------------------------------------------

看的比较好的一些帖子:

java连接mysql中文乱码处理

 http://sue709394.iteye.com/blog/455332

JAVA向MYSQL插入中文字符乱码问题

http://www.xhit.cn/html/program/JAVA/20071104/131614.html




通过修改系统配置文件的方法:

----------------------------------
show VARIABLES like 'character_%';
你先查看一下,是不是都是utf8
不是的设置
比如:
set character_set_server=utf8;
------------------------------------------------------------
一般创建数据库的时候
CREATE DATABASE `kent` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

-------------------------------------------------------
表创建的时候:
CREATE TABLE IF NOT EXISTS `xc_user` (
  `ID` int(4) NOT NULL,
  `Name` varchar(20) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
------------------------------------------------------
最后进入
my.ini
[mysql]
no-auto-rehash
default-character-set = utf8
[mysqld]
port=3306
default-character-set=utf8
default-storage-engine=INNODB --这个自己决定
------------------------------------------------------------------




mysql中文乱码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值