mysql字符集

数据有乱码,唉,首先想到的是字符集;

 

show character set ;
lower_case_table_names
MySQL里面有哪些地方会涉及到字符集?
client -> Server -> DB-> Table-> 字段

mysql > \s

 

• 字符集继承关系:
服务端:server => database => table => column
客户端:connection => result
• 动态修改客户端字符集:SET NAMES latin1/gb2312/utf8;
• 无法动态修改服务端字符集

 

char(N) N表示是字符还是字节? N是字符
       
         utf-8  gbk
1汉字 3字节  2字节
1英文 1字节  1字节
 
在utf-8下;
varchar(30) 最长的字符是30个汉字符,占30*3+1  = 91 个字节;
 char(30) 最长的字符是30个英文字符,占30字节;
 
GBK 双字节
char(30) gbk   存30个汉字,占60个节节;
varchar(30), 存30个汉字,占61个节节;
 

posted @ 2019-02-27 10:21  瓶子倒了水未必流出来  阅读(121)  评论(0编辑  收藏  举报