本文目錄一覽:
如何更改MySQL數據庫編碼為UTF-8或者GB2312?
mysql 創建 數據庫時指定編碼很重要,很多開發者都使用了默認編碼,亂碼問題可是防不勝防。制定數據庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。
網頁數據一般採用UTF8編碼,而數據庫默認為latin 。我們可以通過修改數據庫默認編碼方式為UTF8來減少數據庫創建時的設置,也能最大限度的避免因粗心造成的亂碼問題。
我們遵循的標準是,數據庫,表,字段和頁面或文本的編碼要統一起來
我們可以通過命令查看數據庫當前編碼:
mysql SHOW VARIABLES LIKE ‘character%’;
發現很多對應的都是 latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。
第一階段:
mysql設置編碼命令
[sql] view plain copy
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
然後 mysql SHOW VARIABLES LIKE ‘character%’; 你可以看到全變為 utf8
。
但是,這只是一種假象
此種方式只在當前狀態下有效,當重啟數據庫服務後失效。
所以如果想要不出現亂碼只有修改my.ini文件,
從my.ini下手(標籤下沒有的添加,有的修改)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上3個section都要加default-character-set=utf8,平時我們可能只加了mysqld一項。
然後重啟mysql,執行
mysql SHOW VARIABLES LIKE ‘character%’;
確保所有的Value項都是utf8即可。
但是可惡的事情又來了,
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8
注意 該配置| character_set_server | latin1 無法設置成UTF8 交互時候仍然會出現亂碼。
第二階段:找到下面這東東
X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
重新啟動設置,將默認編碼設置為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 Files\MySQL\MySQL Server 5.0\share\charsets\ |
+————————–+———————————————————+
8 rows in set
安裝mysql 怎樣設置編碼方式
檢查當前數據庫編碼。使用語句:
show variables like ‘%character%’;
show variables like’%collation%’;
如果不是以上情況,需要將mysql編碼設置為utf-8。具體步驟如下:
如果安裝mysql時安裝了“MySql Sever Instance Configuration Wizard”,則只需要啟動該程序進行相應設置即可。如下面截圖中所描述,需要將默認編碼設置為utf8
如果沒有該程序,需要手動修改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 %”;
另外:
建立數據庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改數據庫編碼的命令為:
alter database app_relation character set utf8;
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;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291715.html