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 操作は、特殊文字を正規化しないと実行できないということです。ただし、関連する議論はここで見つけることができます:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3