簡體   English   中英

為什么MySQL對日語字母平假名和片假名相同,你怎么能讓它與Django兼容?

[英]Why does MySQL treat Japanese alphabets hiragana and katakana the same, and how can you make it compatible with Django?

這個問題在這里得到了部分解決,但我想更具體地問:

MySQL困難 - 平假名和片假名被視為相同

日語有兩個獨立的語音字母描述同一組聲音,MySQL看起來像處理大小寫一樣處理這兩個字母(所以我想,而不是不區分大小寫,它是字母不敏感的)。 但是,這兩個字母與英文案例並不相似,所以這樣做沒有多大意義。 有誰知道他們為什么選擇這樣做,並且一個簡單的解決方法? 更具體地說,當連接到django時,你會遇到這個問題:

>>> ichi = 'イチ' # This word is in katakana
>>> Dictionary.objects.get(word=ichi).word # The record that is returned is in hiragana
'いち' 
>>> Dictionary.objects.get(word=ichi).word == ichi # The words are not the same
False

有誰知道如何使行為保持一致?

這可能是因為當列字段設置為utf_general_ci時,MySQL將平假名和片假名視為相同。

將列排序規則更改為utf_bin

暫無
暫無

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

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