2017-01-11 17 views
4

この質問は、部分的に、ここで取り上げたが、私はより具体的にお願いしたかった:MySQLで日本語のひらがなとカタカナを同じように扱うのはなぜですか?また、Djangoとどのように互換性を持たせることができますか?

MySQL difficulties - Hiragana and Katakana are treated as the same

日本人は音の同じセットを記述した2つの別々の表音アルファベットを持っている、とMySQLは、これら二つのアルファベットを同じ方法で処理するように見えます彼らは大文字と小文字を扱います(大文字小文字を区別するのではなく、アルファベットを区別しません)。しかし、これらの2つのアルファベットは英語の場合と似ていないので、そうするのはあまり意味がありません。なぜ誰が彼らがこのようにしたのか、簡単な回避策を知っていますか?具体的には、ジャンゴに接続され、あなたがこの問題を得る:

>>> 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 

は、私は行動に一貫性を持たせることができますどのように誰もが知っていますか?

+0

ひらがな/カタカナ用のデータベースは2つありますか?データベースタイプを変更していますか? – Sayse

+0

なぜこのようにしたのか[このコメント](http://stackoverflow.com/questions/7050221/mysql-difficulties-hiragana-and-katakana-are-treated-as-the-same#comment8752577_7050237 )は、これらの言葉がしばしば同じ言葉と意味であるため、機能として意図されていると示唆されているようです。 「時には日本人は名前や強調にカタカナを使用することがあります。 – Sayse

+0

私はカタカナ/ひらがなの使用は、大部分の時間(カタカナは外国語に、ひらがなはネイティブ日本語に指定されています) – Paige

答えて

0

これはおそらく、MySQLが列フィールドがutf_general_ciに設定されている場合、同じようにひらがなとカタカナを処理するためです。

カラムの照合をutf_binに変更してください

関連する問題