天天看點

linux中mysql不顯示中文_linux mysql指令行檢視顯示中文

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;