查看mysql数据库、数据表编码信息

通过MySQL的命令行即可以查看数据库、数据表的编码信息。

1.查看数据库编码格式

show variables like 'character_set_database';

2.查看数据表的编码格式

show create table <表名>;


编码格式的正确与否,影响着数据库中的数据(尤其是中文数据)能否正常显示。当出现乱码时,就需要通过上述方式查看编码是否设置正确,然后根据需要进行编码的修改。对于MySQL中编码的修改有如下方法:


1.修改数据库编码格式

alter database <数据库名> character set utf8;

2.修改数据表的编码格式

alter table <表名> character set utf8;

3.服务器读取数据库为乱码时可能要修改的编码

set names utf8;
此句等价于执行:SET character_set_client = utf8;SET character_set_results = utf8;SET character_set_connection = utf8;

上面3个变量在获取数据库数据中起着转化编码的作用。

服务器端查询数据库需要经历两个过程

信息输入:client→connection→server;

信息输出:server→connection→results。

每个路径要经过3次改变字符集编码。举一个出现乱码输出的示例,server里utf8的数据,传入connection转为latin1,传入results转为latin1,utf-8页面又把results转过来。如果两种字符集不兼容,比如latin1和utf8,这样就会出现乱码,并且转化过程就为不可逆的,一经转换就无法恢复。
还要声明一点,“SET NAMES UTF8”作用只是临时的,MySQL重启后就恢复默认了。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值