mysql 中文乱码问题

mysql中文乱码问题网上资料比较多,但又比较分散,本人在此进行一些整理,同时也结合自己的一些经验。

总共有这么几种方案:

方案一:

修改配制文件,找到mysql下的配制文件,在ubuntu下是在/etc/mysql中的my.cnf,在其它系统中可能为my.ini,具体位置不清楚。

找到配制文件后进行修改,在[client]一行的上面加上:default-character-set=utf8 ,若想要client, mysqld采用不同与utf8的编码,则可在client和mysqld里面再重新定义,比如在[client]下面加上:default-character-set=gbk.
其中的utf8和gbk都可以改成自己想要的编码。

方案二:

不修改配置文件,若不修改配制文件则在创建表的时候要注明表的编码方案,如
create database pencat default character set utf8;
CREATE TABLE `pencat`.`USER` (
`user_id` int(11) NOT NULL auto_increment,
`name` varchar(160) NOT NULL,
)DEFAULT CHARSET=utf8;

同时在进行数据库连接时也要声明编码类型如java的连接:
"jdbc:mysql://127.0.0.1/search?characterEncoding=utf8"
同时客户端登陆时也要声明 以mysql --default-character-set=utf8 -u root -p登录

对于以前创建的数据库不是utf8编码的可以修改,修改方法如下:
ALTER DATABASE sample ####这里修改整个数据库的编码
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci;

当然了,你也可在在建数据库的时候指定编码,比如:

CREATE DATABASE sample

CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci ;


第一种方案需重启Ubuntu mysql
停用:sudo /usr/local/mysql/bin/mysqladmin shutdown
启用sudo /usr/local/mysql/bin/mysqld_safe -user=mysql &

查看Ubuntu mysql编码

启用后sudo /usr/local/mysql/bin/mysql
mysql>show variables like 'character%';

有时候可能第一种方案和第二种方案都要用才能行,但我只用了第二种方案就成功了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值