① mysql怎麼修改命令提示符的編碼格式啊
chcp 65001 更改cmd文字編碼為 utf-8
選我吧。
② 怎麼查看mysql默認編碼格式
查看MySQL編碼
SHOW VARIABLES LIKE 'char%';
因為當初安裝時指定了字元集為UTF8,所以所有的編碼都是UTF8。
character_set_client:你發送的數據必須與client指定的編碼一致!!!伺服器會使用該編碼來解讀客戶端發送過來的數據;
character_set_connection:通過該編碼與client一致!該編碼不會導致亂碼!當執行的是查詢語句時,客戶端發送過來的數據會先轉換成connection指定的編碼。但只要客戶端發送過來的數據與client指定的編碼一致,那麼轉換就不會出現問題;
character_set_database:資料庫默認編碼,在創建資料庫時,如果沒有指定編碼,那麼默認使用database編碼;
character_set_server:MySQL伺服器默認編碼;
character_set_results:響應的編碼,即查詢結果返回給客戶端的編碼。這說明客戶端必須使用result指定的編碼來解碼;
控制台編碼
修改character_set_client、character_set_results、character_set_connection為GBK,就不會出現亂碼了。但其實只需要修改character_set_client和character_set_results。
控制台的編碼只能是GBK,而不能修改為UTF8,這就出現一個問題。客戶端發送的數據是GBK,而character_set_client為UTF8,這就說明客戶端數據到了伺服器端後一定會出現亂碼。既然不能修改控制台的編碼,那麼只能修改character_set_client為GBK了。
伺服器發送給客戶端的數據編碼為character_set_result,它如果是UTF8,那麼控制台使用GBK解碼也一定會出現亂碼。因為無法修改控制台編碼,所以只能把character_set_result修改為GBK。
修改character_set_client變數:set character_set_client=gbk;
修改character_set_results變數:set character_set_results=gbk;
設置編碼只對當前連接有效,這說明每次登錄MySQL提示符後都要去修改這兩個編碼,但可以通過修改配置文件來處理這一問題:配置文件路徑:D:Program FilesMySQLMySQL Server 5.1 my.ini
③ 如何查看設置mysql資料庫編碼方式
MySQL的默認編碼是Latin1,不支持中文,要支持中午需要把資料庫的默認編碼修改為gbk或者utf8。
1、需要以root用戶身份登陸才可以查看資料庫編碼方式(以root用戶身份登陸的命令為:>mysql -u root –p,之後兩次輸入root用戶的密碼),查看資料庫的編碼方式命令為:
>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
從以上信息可知資料庫的編碼為latin1,需要修改為gbk或者是utf8;
其中,character_set_client為客戶端編碼方式;character_set_connection為建立連接使用的編碼;character_set_database資料庫的編碼;
character_set_results結果集的編碼;
character_set_server資料庫伺服器的編碼;
只要保證以上四個採用的編碼方式一樣,就不會出現亂碼問題。
另一個查看資料庫編碼的命令:
>show variables like 『collation%』;
2、linux系統下,修改MySQL資料庫默認編碼的步驟為:
ü 停止MySQL的運行
/etc/init.d/mysql start (stop) 為啟動和停止伺服器
ü MySQL主配置文件為my.cnf,一般目錄為/etc/mysql
var/lib/mysql/ 放置的是資料庫表文件夾,這里的mysql相當於windows下mysql的date文件夾
ü 當我們需要修改MySQL資料庫的默認編碼時,需要編輯my.cnf文件進行編碼修改,在linux下修改mysql的配置文件my.cnf,文件位置默認/etc/my.cnf文件
找到客戶端配置[client] 在下面添加
default-character-set=utf8 默認字元集為utf8
在找到[mysqld] 添加
default-character-set=utf8 默認字元集為utf8
init_connect='SET NAMES utf8' (設定連接mysql資料庫時使用utf8編碼,以讓mysql資料庫為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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
此方法用於標准mysql版本同樣有效,對於/etc/my.cnf文件,需要從mysql/support-files的文件夾cp my-large.cnf一份到/etc/my.cnf
3、windows系統下可以刪除MySQL資料庫,並重新安裝,在安裝過程中可以直接用Mysql Server Instance Config Wizard 進行設置
4、當MySQL資料庫伺服器已經有數據不適合刪除重裝時,可以個別指定資料庫的編碼方式。MySQL指定編碼的方式是非常靈活並多樣化的,可以指定表級別的編碼,行級別編碼,甚至可以指定欄位級別的編碼。
以下示例給出創建資料庫時指定編碼的兩種方式:
1)CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;
2)create database if not exists netctoss default character set utf8;
5、如果你採用的是外部接入的方式,可以在連接中確定請求的編碼格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=true&characterEncoding=utf-8(注意:不要出現任何空格,否則出錯)
6、執行腳本:指定編碼格式set names gbk(注意,不是UTF-8)可以修改
執行前:
執行後:
從執行命令前後可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的編碼方式,並且這種修改是窗口級別的,只針對本窗口有效,打開另外一個窗口修改無效。也可發現資料庫底層的編碼方式沒有改變,插入數據後還是以utf8編碼方式保持。
④ 如何更改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%';
+--------------------------+---------------------------------------------------------+
| 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軟體,輸入密碼,按下回車鍵,如下圖所示:
第二步在命令行先輸入"use day14_customer;",按回車鍵,進去資料庫,注意最後一個分號,day14_customer是資料庫名字,如下圖所示:
第三步再輸入「 show create database day14_customer;」,查看資料庫的編碼方式
4
第四步修改資料庫編碼信息,輸入「alter database day14_customer default character set gbk;」