【发布时间】:2017-05-26 17:25:17
【问题描述】:
这里已经部分解决了这个问题,但我想更具体地问一下:
MySQL difficulties - Hiragana and Katakana are treated as the same
日语有 2 个单独的拼音字母来描述同一组声音,而 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
有谁知道我怎样才能使行为保持一致?
【问题讨论】:
-
是否可以选择为平假名/片假名设置两个数据库?更改数据库类型是一种选择吗?
-
至于他们为什么选择这样做,链接问题上的this comment 似乎暗示它是作为特征的,因为这些词通常是相同的词和含义? “有时日语使用片假名来命名或强调 - 所以它们通常是相同的词和含义。”
-
我看到了——虽然这是真的,但我想说的是,在大多数情况下,片假名/平假名的使用是经过深思熟虑和有意义的(片假名被指定用于外来词,而平假名则用于母语日语词)
-
你真的使用 mysql 数据库而不是 Django 使用的默认 sqlite 数据库吗?我正在使用 MySQL,我没有这个问题,即在我的查询中,我能够得到区分 イチ 和 いち 的结果。如果您确定您使用的是 MySQL,请分享您的数据库相关设置(当然省略敏感信息)。