2013-11-22 65 views
-1

我在我的MySQL(服務器版本:5.6.14 &服務器字符集:UTF-8 Unicode(utf8))數據庫中有一些名稱(用荷蘭語編寫)的表格,如:在MySQL數據庫中使用普通字符串查找utf8字符串

  • 非洲的
  • 南極洲
  • Azië
  • 歐羅巴
  • 北-AMERIKA
  • 大洋洲
  • 南荷蘭AMERIKA
  • 安哥拉
  • Argentinië
  • 阿魯巴
  • Australië
  • België屬於
  • Brazilië
  • 緬甸

使用PHP我寫了嘗試搜索方法根據用戶輸入在數據庫中查找名稱。當用戶搜索'Azie'時,應該找到'Azië'。

是否有PHP或MySQL函數來解決這個問題? 由於搜索方法在多個表中搜索而不僅僅是此位置表,因此我不想使用具有替代符號的額外表格或列。這會使它更復雜。

我使用$ mysqli-> set_charset(「utf8」)設置mysqli字符集,HTML文檔也是utf8。

回答

1

你試過其實用它?
如果是這樣,並且不起作用 - 表和列上的排序規則是什麼?
如果它是utf_general_ci(這是utf8字符集的默認值),但仍然無效 - 請嘗試將其更改爲utf8_unicode_ci。在這裏你可以看到它是如何完成的:How to change the default collation of a table? 如果表/字段charset不是utf8 - 你必須先改變它。

要看到實際的歸類,您可以運行SHOW CREATE TABLE table_name查詢

+0

謝謝您的回答。要回答你的問題,是的,我確實嘗試過。我的桌子和柱子是utf8_general_ci。當我意識到我將所有數據收集到對象中時,我將數據庫,連接,表和列切換到utf8_unicode_ci,以便比較搜索詞,從而最大限度地減少sql查詢的數量。所以我問的問題是錯誤的,而不是問題。 - 這個問題可以被刪除,因爲它不存在問題。 – Pinquin

+0

爲此更好地使用數據庫。使用數據庫沒有任何問題。它的目的是爲它 –

+0

即使這些請求是在爲該建議框輸入時即將出現的? – Pinquin