[英]MySQL - Searching for Swedish Characters
我已將瑞典語單詞存儲在 MysQL 數據庫中。 表的編碼是
utf8_unicode_ci
我也試過
utf8_swedish_ci
當我在數據庫中進行搜索時,'a' 和 'ä' 被視為相同。 所以結果包括以 a 和 ä 開頭的兩個單詞。 反之亦然。 我的應用程序是用 CakePHP 開發的,我的核心中有以下內容。php
Configure::write('App.encoding', 'UTF-8');
我在這里錯過了什么嗎?
這是我的查詢:
$term = $this->request->query['term'];
$this->loadModel('Words');
$condition = array('word LIKE' => trim($term) . '%', 'is_active' => true);
$words = $this->Words->find('list', array(
'fields' => array('word'),
'limit' => 7,
'conditions' => $condition));
return $this->respond($words, true);
我用於 Jquery 自動完成:
$(function () {
$("#tags").autocomplete({
source: 'autocomplete'
});
});
$query_result = $this->Words->query("SELECT word FROM tbl_words WHERE word LIKE '" . $term . "%' COLLATE utf8_bin LIMIT 7 ;");
這對我來說很棒。 感謝@Mihai的評論。
我有類似的問題。 我想通過可能包含瑞典字符的標簽列出所有自動完成建議。 我已經在 mysql 數據庫中有一個正確的字符集。 所以那里沒有問題。 但是我仍然無法從帶有瑞典標簽名稱的 mysql 數據庫中正確搜索。 然而,事實證明它與 mysql 無關。 我錯過了在我的 php 后端解碼標簽。
$term = urldecode($this->request->query['term']);
這是有道理的,因為 jquery 自動匹配會發出 url 中的標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.