簡體   English   中英

mysql utf8mb4_general_ci問題

[英]mysql utf8mb4_general_ci issue

我在utf8mb4_general_ci表中的Unicode字符有問題

SELECT * FROM `t1` WHERE c1='musca' 

回報

musca
muşca
muşcă

我想知道的是,這是否是一個錯誤?

並且如果它影響搜索-它可能或更恰當地說應該如此; 我不能使列唯一索引

我應該做些什么,以便mysql將aă以及sş視為不同的實體? (可能還有a和â,t和ţ,以及i和î,但我尚未檢查)。

我應該將Unicode字符存儲為&#226&#259&#351&#355&#238嗎?

我將需要檢索用戶輸入的完全匹配。

編輯添加:

答案在評論中:我應該按照Madhur Bhaiya解釋和演示的那樣將列整理為utf8mb4_0900_as_cs。

您需要在有問題的表列上COLLATION utf8_romanian_ci (或utf8mb4_romanian_ci)。 這是唯一將這5個字符視為單獨的“字母”的排序規則。

參考: http : //mysql.rjweb.org/utf8_collat​​ions.html

大多數版本的MySQL / MariaDB中都提供了該功能。 不需要utf8mb4_0900_as_cs ,這意味着MySQL 8.0。

暫無
暫無

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

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