為什麼「Harligt」和「Härligt」在 MySQL 中回傳相同的結果?

Linda Hamilton
發布: 2024-10-25 08:50:02
原創
555 人瀏覽過

Why Do `Harligt` and `Härligt` Return the Same Results in MySQL?

MySQL 對Unicode 字元的處理:Ä、Ö 和Ü

在搜尋兩個「Harligt」時遇到相同的查詢結果是令人費解的MySQL 中的「和」Härligt」。此行為源自於MySQL 的預設排序規則設置,該設定等同於某些Unicode 字元。

MySQL 的非特定於語言的Unicode 排序規則(例如utf8_general_ci 和utf8_unicode_ci)將某些字符視為等效字符,即:

  • Ä = A
  • Ö = O
  • Ü = U
  • Ö = O

Ü = U

因此,兩個查詢將所有三個字元視為相同,從而產生匹配結果.

    要解決此問題,有兩個選項:
  1. 更改排序規則:
  2. 切換到不執行此字元等同的排序規則,例如utf8_bin 。覆寫特定查詢的排序規則:對於單一查詢,可以透過明確指定所需的排序規則來覆寫預設排序規則。的搜索,而無需自動字元轉換。 。

以上是為什麼「Harligt」和「Härligt」在 MySQL 中回傳相同的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!