1. 程式人生 > >Ubuntu 16.04中如何修改mysql的編碼為utf-8

Ubuntu 16.04中如何修改mysql的編碼為utf-8

積累,小白也有大神夢

在雲伺服器上搭建mysql資料庫的時候,發現預設的編碼並不是utf-8,所以在對資料庫進行釋出的時候,遇到了亂碼的問題。只有將mysql的編碼修改之後,然後把表刪除,在重新建表才擺脫了這個問題。這裡對修改mysql的編碼做一簡單總結。

一、檢視mysql的編碼

登入mysql以後,輸入:
show variables like ‘%character%‘;
即可顯示mysql的編碼。預設情況下,應該不是utf-8,所以需要對它進行修改。

二、修改mysql編碼

修改mysql編碼的方式有兩種,第一種是登入mysql之後,在命令列輸入命令,對編碼進行修改。但是我嘗試這種方法,在我重新登入之後,編碼依然如此沒有被修改。第二中方法是在mysql的配置檔案中修改編碼。

第一種方法

當我們從命令列登入到mysql之後,我們通過檢視mysql編碼的命令檢視mysql中的編碼情況。然後通過下面命令對它進行修改。
set 所要修改的屬性名稱=”utf8”
例如: SET character_set_client = utf8;
注意:是utf8而不是utf-8或utf_8
修改結束之後,我們可以通過原本的檢視編碼命令檢視,這裡已經將它修改了過來。但是在我這裡只是臨時行的,在你哪裡我就不妄加揣測了。
當然我們也可以通過命令修改指定的資料庫編碼,或者指定的表、欄位的編碼,也可以建立資料庫的時候指定編碼,命令如下:
alter database 資料庫名 character set utf8; //修改資料庫編碼
alter table 表名 character set utf8; //修改表編碼
alter table 表 modify 欄位名 欄位型別 CHARACTER SET utf8;//修改欄位編碼
create database 資料庫名 character set utf8; //建立資料庫時指定編碼
create table 表名 …….. DEFAULT CHARSET=utf8;//建立表時指定編碼

第二中方法

修改配置檔案,配置檔案是/etc/mysql/my.cnf(windows下好像配置檔案在mysql的安裝路徑下的my.ini檔案裡,似乎現在把這個檔案改名了,你可以在把它改成my.ini):
在[client]下追加:
default-character-set=utf8
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8
然後儲存並退出。

重啟服務:
service mysql restart 或
/etc/init.d/mysqlrestart

從新登入檢視,即可發現已經被改變。

總結:最好兩種方法,都一起試試,這樣可以保證萬無一失。