linux中mysql不显示中文_linux mysql命令行查看显示中文

本文介绍了在Linux环境下,通过命令行解决MySQL无法显示中文的问题。包括创建表时设定UTF8编码,修改已有表的编码,以及调整MySQL配置文件使其默认支持UTF8。同时提供了检查数据库和表编码的查询语句。
摘要由CSDN通过智能技术生成

linux 命令行查看mysql的库字符集是utf8,查询某个表时,仍然是显示不了中文,

之后使用了命令 mysql>set  names utf8;就可以正常显示中文了。

如何才更好的使mysql支持显示中文呢?

第一,创建table的时候就使用utf8编码;

create table entries2 (

idintauto_increment,

title text,

content text,

posted_on datetime,

primary key (id)

) characterset = utf8;

第二,修改已经有的table的编码

当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:

alter table table_name convert to character set utf8;

此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。

第三,修改mysql的配置文件,让mysql默认编码为utf8

在我的ubuntu机器上,mysql的配置目录为/etc/mysql

而我们mysql使用的配置文件为

/etc/mysql/my.cnf

我们可以直接加在my.cnf中,当然为了方便移植可复用,也可以如下写在独立的配置文件中。

在my.cnf最后又include了 conf.d/ 下面所有的*.cnf文件,所以我们就在conf.d/下面加上一个我们自己的配置文件wy_sql.cnf

添加如下两行

[mysqld]

character-set-server=utf8

再创建表的时候默认编码就是utf8了。

第四,如何查看一个database,一个table的编码

查看database的编码,假如database名字为webpy:

show create database webpy;

查看一个table的编码,假如table名为entries2:

show create table entries2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值