簡體   English   中英

#1115-未知字符集:“ utf8mb4”

[英]#1115 - Unknown character set: 'utf8mb4'

我的個人計算機上運行着一個本地網絡服務器,用於本地開發。 我現在處於導出數據庫並將其導入到托管VPS的階段。

導出然后導入時,出現以下錯誤!

1115-未知字符集:“ utf8mb4”

有人可以指出我正確的方向嗎?

該錯誤清楚地表明,您的舞台數據庫服務器上不支持utf8mb4

原因 :可能在本地具有MySQL 5.5.3或更高版本,而在舞台/托管VPS上, MySQL服務器版本低於5.5.3

utf8mb4字符集是在MySQL 5.5.3中添加的。

由於MySQL的utf8字符集存在錯誤,因此添加了utf8mb4 MySQL對utf8字符集的處理僅允許單個代碼點最多3個字節,這不足以代表整個Unicode(最大代碼點= 0x10FFFF )。 因為他們不想破壞任何依賴於這種錯誤行為的東西, utf8mb4添加了utf8mb4 文檔在這里


解決方案1 :只需將您的MySQL服務器升級到5.5.3(至少)-下一次,請注意您在本地,階段和產品上使用的版本必須全部相同。 一個建議 -目前默認字符集應為utf8mb4


解決方案2 (不推薦):將當前字符集轉換為utf8 ,然后導出數據-加載成功。

有時我在使用HeidiSQL時會遇到類似的問題,默認情況下,它以utf8mb4字符編碼導出。 並非所有的MySQL安裝都支持這種編碼,並且導入此類數據會導致類似的錯誤消息。 然后,我的解決方法是使用phpMyAdmin導出數據,該文件在utf8中導出。 可能還有其他工具和可能的方式,例如手動編輯轉儲文件,將其從utf8mb4轉換為utf8(如果需要)並將SET NAMES utf8mb4更改為SET NAMES utf8 utf8mb4是utf8的超集,因此,如果您完全確定自己的數據只是utf8,則只需將轉儲文件中的SET NAMES更改為utf8

通過文本編輯器打開sql文件,查找並替換所有

utf8mb4 to utf8

再次導入。

這對我有幫助

ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM