mysql关于乱码问题

create table student(
    sname char(10) comment '姓名',
    sno  int  comment '学号',
    gender char(10) comment '性别'
    )charset utf8;  -- 不加也行
-- 插入数据  也可以加上字段名不加也行
--insert into 表名 values (字段列表);

insert into student values ('码农','1', 'male'),('程序员','2', 'male');
-- 错误 是因为字符集,要改变字符集
-- 查看服务器识别哪些字符
show character set;
-- 查看服务器对外处理的字符集
show variables like 'character_set%';
-- character_set_client  utf8 服务器默认客户端来的数据的字符集
-- character_set_connection 连接层 是字符集转变的中间值,如果统一效率更高,不统一也没事
-- character_set_database  当前数据库的字符集
-- character_set_results  服务器默认给外部数据的字符集

-- 问题:客户端只能接受gbk而服务器认为是utf8
-- 所以该默认服务器为gbk
set character_set_client = gbk;
-- 依然是乱码 是因为服务器穿过来的是utf8
--所以修改服务器给客户端的数据字符集是gbk
set character_set_results=gbk;  -- ok
-- 但是set 变量=值 只是会话级别的,当此链接有效,关闭无效
-- 设置服务器对客户端的字符集的认识:可以用快捷方式:set names 字符集
set names gbk ===> character_set_client, character_set_client,character_set_connection
-- 所以在使用时最好先set names gbk(在window控制台上默认的是gbk)

-- 创建使用不同的校对集  // 就是应order by 进行排序
create table my_collate_bin(
 name char(1)
 )charset utf8 collate utf8_bin;




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值