mac mysql编码问题_mysql在Mac上编码问题

在官网安装完mysql 后, 用go语言操作数据库后发现无法插入中文,折腾了一番后,可以插入,但显示乱码(??),再折腾一番后,终于解决问题,方法如下;

先进入mysql操作台, 用 status命令查看下

mysql> status;

检查哪个字符集不符合编码要求就修改哪个

例如:

MYSQL>set character_set_client = "utf8" ;

MYSQL>set character_set_connection = "utf8" ;

MYSQL>set character_set_results= "utf8" ;

MYSQL>set character_set_server= "utf8" ;

重新启动mysql,再查看status;

我在使用navicat作为数据库可视化操作时,发现连接方式要选"自动",表的内容才能显示正确

如果上述方法无效, 可以新建一个 my.cnf文件,编辑内容如下:

[client]

default-character-set = utf8

[mysqld]

default-storage-engine = INNODB

character-set-server = utf8

collation-server = utf8_general_ci

注意: collation-server = utf8_general_ci 也可以设置为 utf8_bin(对字段,查询内容大小写敏感)

路径保存在 /etc/mysql/my.cnf

重启mysql

为了严谨,在建立数据库和字段时,最好指定编码

如:

create database 数据库名 default character set utf8 collate utf8_general_ci;

DROP TABLE IF EXISTS `userinfo`;

CREATE TABLE `userinfo` (

`uid` int(10) NOT NULL AUTO_INCREMENT,

`username` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,

`departname` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,

`created` date DEFAULT NULL,

PRIMARY KEY (`uid`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值