mysql修改資料庫的編碼
㈠ 如何更改Mysql資料庫編碼為UTF-8或者GB2312
mysql 創建 資料庫時指定編碼很重要,很多開發者都使用了默認編碼,亂碼問題可是防不勝防。制定資料庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。
網頁數據一般採用UTF8編碼,而資料庫默認為latin 。我們可以通過修改資料庫默認編碼方式為UTF8來減少資料庫創建時的設置,也能最大限度的避免因粗心造成的亂碼問題。
我們遵循的標準是,資料庫,表,欄位和頁面或文本的編碼要統一起來
我們可以通過命令查看資料庫當前編碼:
mysql> SHOW VARIABLES LIKE 'character%';
發現很多對應的都是latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。
第一階段:
mysql設置編碼命令
[sql]view plain
SETcharacter_set_client=utf8;
SETcharacter_set_connection=utf8;
SETcharacter_set_database=utf8;
SETcharacter_set_results=utf8;
SETcharacter_set_server=utf8;
- 然後mysql> SHOW VARIABLES LIKE 'character%';你可以看到全變為utf8 。
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:Program FilesMySQLMySQL Server 5.0sharecharsets |
+--------------------------+---------------------------------------------------------+
8 rows in set
㈡ MySQL資料庫編碼修改
對於有數據的表,不能修改編碼,否則裡面的數據會成為亂馬,一般的方法是把所有數據保存到文本文件裡面,清空數據後修改編碼,然後重新裝入數據。
㈢ 如何設置mysql資料庫為utf-8編碼
(1)關閉mysql服務
[plain] view plain
service mysql stop
(2)修改 /etc/mysql/my.cnf (默認的安裝路徑)
[plain] view plain
vim /etc/mysql/my.cnf
打開my.cnf後,在文件內的[mysqld]下增加如下兩行設置:
[plain] view plain
character_set_server=utf8
init_connect='SET NAMES utf8'
保存退出。
(3) 重新啟動mysql服務
[plain] view plain
service mysql start
至此,完成修改默認編碼
㈣ 如何更改mysql已有資料庫的編碼
MySQL中,資料庫的編碼是一個相當重要的問題,有時候我們需要查看一下當前資料庫的編碼,甚至需要修改一下資料庫編碼。
查看當前資料庫編碼的SQL語句為:
mysql> use xxx
Database changed
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
1 row in set (0.00 sec)
上面,我們先切換到xxx資料庫下面來,然後使用SQL語句:show variables like 'character_set_database'; 來查看了xxx資料庫的編碼。查詢得到的結果是latin1編碼。
下面,我們來修改xxx資料庫的編碼,把它修改為gb2312。
mysql> alter database xxx CHARACTER SET gb2312;
Query OK, 1 row affected (0.00 sec)
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | gb2312 |
+------------------------+--------+
1 row in set (0.00 sec)
這里同樣做了兩件事情:
1、使用SQL語句:alter database xxx CHARACTER SET gb2312; 把xxx資料庫的編碼設置為了gb2312.
2、再次使用show variables like 'character_set_database'; 來確認一下當前xxx是什麼編碼。經過確認,資料庫編碼已經修改為gb2312了。
㈤ mysql資料庫怎麼設置編碼格式
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標簽下已經存在「default-character-set=GBK」類似的內容,只需修改即可。
--在 [mysql] 標簽下加上一行
default-character-set = utf8
--在 [mysql.server]標簽下加上一行
default-character-set = utf8
--在 [mysqld_safe]標簽下加上一行
default-character-set = utf8
--在 [client]標簽下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
如果出現啟動失敗,請檢查配置文件有沒有設置錯誤
3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql後 執行 :show variables like "% character %";
顯示結果應該類似如下:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有編碼不是utf8的,請檢查配置文件,也可使用mysql命令設置:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
另外:
建立資料庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改資料庫編碼的命令為:
alter database app_relation character set utf8;
㈥ 怎樣更改MySQL資料庫編碼為UTF-8或者GB2312,應該怎麼做
以更改為UTF-8為例,GB2312雷同。
1、關閉mysql服務(以下為命令行中執行)
view plain
servicemysqlstop
2、修改 /etc/mysql/my.cnf (默認的安裝路徑)
view plain
vim/etc/mysql/my.cnf
打開my.cnf後,在文件內的[mysqld]下增加如下兩行設置:
character_set_server=utf8
init_connect='SETNAMESutf8'
㈦ mysql怎麼修改已有資料庫的編碼方式
方法/步驟
如果沒有配置好cmd裡面的mysql
環境變數,那就在系統高級設置那兒進行MySQL的環境變數設置。
win+R,調出「運行」,輸入cmd,回車
登錄資料庫,
查看資料庫
查看資料庫字元編碼
通過MySQL命令行修改:(編碼可選)
mysql>
set
character_set_client=utf8;
mysql>
set
character_set_connection=utf8;
mysql>
set
character_set_database=utf8;
mysql>
set
character_set_results=utf8;
mysql>
set
character_set_server=utf8;
mysql>
set
character_set_system=utf8;
mysql>
set
collation_connection=utf8;
mysql>
set
collation_database=utf8;
mysql>
set
collation_server=utf8;
當然還有:
修改資料庫的字元集mysql>use
mydb
mysql>alter
database
mydb
character
set
utf8;
8
創建資料庫指定資料庫的字元集
mysql>create
database
mydb
character
set
utf8;
㈧ 如何改變mysql資料庫的編碼方式
1. 查看MySQL資料庫的默認編碼
有如下兩種方式,
(1)使用status命令
mysql> status;
圖1 status命令
(2)使用show variables命令
mysql> show variables like 'char%';
圖2 show variables命令
如果要查看某個資料庫的編碼,在運行上面的命令前,應先執行use db_name;命令切換資料庫(db_name為要查看的資料庫名)。
2. 改變MySQL資料庫的默認編碼
安裝MySQL資料庫時的默認編碼是latin1,實際使用時可能要使用其他編碼。下文描述如何將默認編碼改為utf8:
首先修改MySQL的配置文件/etc/mysql/my.cnf:
在[client]下追加:
default-character-set=utf8
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8
修改完畢後,使用如下命令之一重啟mysql服務:
service mysql restart
/etc/init.d/mysql restart
改變後,之前手工創建的資料庫如未顯式指定編碼,則其編碼仍是默認的latin1,可使用如下命令更改編碼:
mysql> alter database db_name CHARACTER SET utf8;
參考資料:
[1] http://www.2cto.com/os/201404/292378.html