MySQL の特殊文字の処理: パラドックスの説明
MySQL で、「Å」、「Ä」、 「Ö」は、結果の一貫性に関して疑問を引き起こすことがよくあります。たとえば、「Harligt」と「Härligt」を含むクエリは同じ結果を返し、ユーザーを当惑させます。
この現象は、MySQL のデフォルトの照合設定、具体的には「utf8_general_ci」と「utf8_unicode_ci」に起因すると考えられます。これらの照合順序は、スカンジナビア文字を含む特定の Unicode 文字を、対応する英語の文字と同一視することによって正規化します (例: "Ä = A")。この正規化により、比較操作と検索が簡素化されますが、特定のシナリオでは不便になる可能性があります。
この問題を解決するには、次のオプションを検討してください:
select * from topics where name='Harligt' COLLATE utf8_bin;
MySQL での大文字と小文字を区別しない LIKE 操作は、特殊文字を正規化しないと実行できないことに注意してください。ただし、関連する議論はここで見つけることができます:
以上がMySQL で「Harligt」と「Härligt」が同じ結果を返すのはなぜですか?照合順序と文字の正規化について見てみましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。