涉及到中文問題,大多都是編碼類型的問題啦。
我們首先看看默認(rèn)mysql創(chuàng)建表后使用的編碼類型是什么吧。
下圖中我們首先創(chuàng)建了一個(gè)表test。
create table test(name char(20);

然后我們可以使用命令
SHOW FULL COLUMNS FROM 表名;
來查詢各個(gè)列的編碼類型。
我們創(chuàng)建的表只有一列name,從圖中可以看到該列的collation的值為latin1_swdish_ci,這是一種拉丁編碼類型,要想顯示中文,需要使用到utf-8編碼類型。

我們可以先試試在這種拉丁編碼下是否可以插入中文數(shù)據(jù)。
例如我們使用
insert into test values('張三');
我們會(huì)發(fā)現(xiàn),插入操作遇到了error,即并不能插入成功。

接下來,我們?cè)囋嚾绾螌⒃摿械木幋a更改為utf-8類型。
alter table test change name name char(20) character set utf8 collate utf8_general_ci;
如下圖所示:

此時(shí),我們?cè)俅尾榭磏ame列的編碼類型:
可以看到,此時(shí)編碼類型已經(jīng)變?yōu)榱薝TF-8。

下面我們?cè)僭囋?,此時(shí)能否插入中文數(shù)據(jù):
可以看到,此時(shí)已經(jīng)成功將‘張三’插入了表中。

打印出表中的所有行,可以看到確實(shí)已經(jīng)成功插入。

說明這種方法是奏效的。但是每次創(chuàng)建表時(shí),默認(rèn)編碼都是拉丁編碼,如果每次都需要手動(dòng)修改編碼類型,似乎是一件非常繁瑣的事情。所以我們來看看是否有什么辦法來讓創(chuàng)建表時(shí),默認(rèn)編碼類型為utf-8;
一開始我查閱很多資料,很多資料需要修改mysql的配置文件,顯得比較復(fù)雜,而且一旦配置出錯(cuò),會(huì)讓我這種小白不知所措的!
下面我們來介紹一種較為簡(jiǎn)單的方法,就是在創(chuàng)建database時(shí)指定默認(rèn)的字符集。
CREATE DATABASE 數(shù)據(jù)庫(kù)名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
這樣,在該數(shù)據(jù)庫(kù)下創(chuàng)建的所有表都默認(rèn)是utf8字符集的啦!
這個(gè)的方法是從這位博主這里知道的,http://blog.csdn.net/tyuttjx/article/details/26576041
O(∩_∩)O~~