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;
mysql关于乱码问题
最新推荐文章于 2024-07-20 16:33:27 发布