簡體   English   中英

如何查看utf8mbf整理MySQL中的列?

[英]How can I see utf8mbf collate for a column in MySQL?

這是我使用的命令:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

它運作良好。 現在,我需要為列設置utf8mb4_unicode_ci (因為當前字符顯示為??? 無論如何,這是我的新命令:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8mb4_unicode_ci;

但是可悲的是,MySQL拋出:

ERROacR 1253(42000):COLLATION'utf8mb4_unicode_ci'對CHARACTER無效

任何想法?

COLLATION名稱的第一部分必須與CHARACTER SET名稱相匹配。

表情符號和一些漢字需要CHARACTER SET utf8mb4

讓我們備份“真正的”問題-問號。

COLLATION是指排序和排序的規則,而不是編碼。

CHARACTER SET是指編碼。 這在所有階段都應保持一致。 問號來自不一致之處。

UTF-8字符有問題; 我所看到的不是我存儲的內容,而是指出這些可能是問號的可疑對象:

  • 要存儲的字節未編碼為utf8 / utf8mb4。 解決這個問題。
  • 數據庫中的列不是CHARACTER SET utf8mb4。 如果您需要4字節的UTF-8,請修復此問題。 (使用顯示創建表。)
  • 另外,在讀取過程中檢查連接是否為UTF-8。 詳細信息取決於進行連接的應用程序。

這為我工作:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

暫無
暫無

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

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