为什么MySQL对日语字母平假名和片假名相同,你怎么能让它与Django兼容?

时间:2017-01-11 19:19:57

标签: mysql django

这个问题在这里得到了部分解决,但我想更具体地问:

MySQL difficulties - Hiragana and Katakana are treated as the same

日语有两个单独的语音字母描述同一组声音,而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

有谁知道如何使行为保持一致?

1 个答案:

答案 0 :(得分:0)

这可能是因为当列字段设置为utf_general_ci时,MySQL将平假名和片假名视为相同。

将列排序规则更改为utf_bin