MySQL 中文亂碼解決,mysql中文亂碼

來源:互聯網
上載者:User

MySQL 中文亂碼解決,mysql中文亂碼
測試環境:服務端和用戶端均為win7,MySql資料庫、表字元集為utf-8,欄位字元集與表一致。1、使用mysql命令進行操作時的亂碼問題解決。

(1)設定當前字元集

set names gbk 

(2)修改單個字元集參數

使用命令show variables like 'char%',查看所有字元集變數。

+--------------------------+----------------------------------------+
| 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     | latin1                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | D:\mysql-5.6.25-winx64\share\charsets\ |
+--------------------------+----------------------------------------+

修改單個字元集:

set character_set_results=gbk

注意:該方法設定的參數在伺服器重啟後失效。

2、mysqldump匯出時亂碼問題解決(1)匯出有兩種情況:一是匯出表結構,二是匯出表結構和資料。

匯出全表:

mysqldump -uroot -p [databasename] --table [tablename]

只匯出表結構:

mysqldump -uroot -p [databasename] --table [tablename] -d

(2)實驗

經測試,在控制台環境,匯出表結構時,無論怎麼設定--default-character-set參數,均無法正常顯示欄位注釋中的中文,命令如下:

mysqldump -uroot -p --default-character-set=gbk test --table t_data

但表資料中的中文可以正常顯示(通過設定--default-character-set=gbk)。

但是,若匯出為檔案,則可以正常顯示,命令樣本如下:

mysqldump -uroot -p --default-character-set=gbk mydb --table t_data -d > t_data.sql

有趣的是,不管--default-character-set設定為何值(gbk,utf8,latin1)均能正常顯示,在控制台顯示亂碼和控制台本身有一定的關係。

(3)總結

在控制台環境,表結構中的中文欄位注釋總是不能正常顯示,使用管道輸出到檔案,則總能正常顯示(使用UltraEdit開啟)。

表資料中必須通過參數設定--default-character-set=gbk來控制正常輸出中文,包括控制台顯示或用管道輸出到檔案。

也就是說--default-character-set=gbk 僅對錶資料的編碼處理生效,對錶結構欄位注釋中的中文無效。


參考:

1、查看建立表使用的字元集:

show create table [tableName] 

2、查看錶欄位使用的字元集:

show full columns from [tableName]

3、查看錶

show tables;

4、查看錶資訊

desc [tablename]

5、查看資料庫

show databases;

6、查看資料庫資訊

show create database test;



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.