修改mysql數據庫編碼格式以支持中文

mysql數據庫默認的編碼是:Latin1,要想支持中文就需要修改爲gbk/utf8的編碼格式。

在命令行中輸入:SHOW VARIABLES LIKE ‘character%’;

數據庫編碼格式

通過查詢結果顯示可以看出 數據庫編碼爲拉丁語,需要修改爲gbk或utf8.
character_set_client爲客戶端編碼方式;
character_set_connection爲建立連接使用的編碼;
character_set_database數據庫的編碼;
character_set_results結果集的編碼;
character_set_server數據庫服務器的編碼;
只要保證以上五個採用的編碼方式一樣,就不會出現亂碼問題。

修改數據庫編碼的步驟:
1、停止mysql服務。
2、修改mysql配置文件。
windows:安裝路徑下的:my.ini
linux:路徑一般爲:/etc/mysql/my.cnf
3、找到客戶端配置[client] 在下面添加
default-character-set=utf8 默認字符集爲utf8
4、在找到[mysqld] 添加
default-character-set=utf8 默認字符集爲utf8
init_connect=’SET NAMES utf8’ (設定連接mysql數據庫時使用utf8編碼,以讓mysql數據庫爲utf8運行)
5、修改好後,重新啓動mysql查看當前數據編碼格式。

在命令行中輸入:SHOW VARIABLES LIKE ‘character%’;

數據庫編碼格式

MySQL指定編碼的方式是非常靈活並多樣化的,可以指定表級別的編碼,行級別編碼,甚至可以指定字段級別的編碼。
以下示例給出創建數據庫時指定編碼的兩種方式:
1、CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;
2、create database if not exists netctoss default character set utf8;
3、如果你採用的是外部接入的方式,可以在連接中確定請求的編碼格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=true&characterEncoding=utf-8(注意:不要出現任何空格,否則出錯)
4、若Commandline終端查看數據顯示亂碼則執行如下命令:
set names gbk(注意,不是UTF-8) 來修改窗口級別的編碼格式解決終端亂碼問題。
注意:set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的編碼方式,並且這種修改是窗口級別的,只針對當前窗口有效,打開新窗口修改無效,數據庫底層的編碼方式不會被改變,插入數據後還是以utf8編碼方式存儲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章