1. 程式人生 > 資料庫 >mysql8.0中文亂碼(表中有blob型別)

mysql8.0中文亂碼(表中有blob型別)

命令:mysqldump -uroot -p test > /data/test.sql

匯出後的資料庫開啟是亂碼,如下:

在這裡插入圖片描述

開始以為開啟的方式不對,就用記事本開啟後,用utf-8的編碼格式另儲存下

在這裡插入圖片描述

結果開啟後,仍然是亂碼。

這時候,猜測是不是資料庫的字符集的編碼有問題,然後進入資料庫,

輸入命令:show variables like ‘character%’;
在這裡插入圖片描述

很顯然,編碼是沒有問題的。

用命令:mysqldump -uroot -p test --default-character-set=utf8 > c1.sql 重新匯出資料庫,結果仍然是亂碼

新建一個測試資料庫,將匯出有亂碼問題的資料庫匯入,結果linux下檢視,也無中文亂碼問題

接下來只匯出test資料庫的表結構,命令:mysqldump -uroot -p -d test > c1.sql

開啟來看,顯示正常,無亂碼

在這裡插入圖片描述

後來搜查資料才發現,是因為表中Blob型別

在這裡插入圖片描述

在命令上加上引數 --hex-blob

命令:mysqldump -uroot -p test --hex-blob > /test.sql

再次匯出,顯示正常,無中文亂碼

附:

《各種亂碼問題彙總》
http://topic.csdn.net/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.html

轉載於:https://www.cnblogs.com/amy420/p/7234897.html