我已經嘗試了許多在網絡和StackOverflow上找到的解決方案,但在我的情況下,我無法解決問題。Jquery ajax後發送阿拉伯字符到PHP和MySQL查詢如
我想澄清一下,所有的html/php文件,數據庫連接和元字符集都是UTF-8編碼。
我通過jQuery.ajax(發送交數據),看着由螢火後消息的源,該阿拉伯串被送至像下面僅使用jQuery.serialize()(或serializeArray())
HP-搜索=%D9%85%D9%84%D8%AD
在PHP文件我有一個簡單的查詢等,並且傳遞參數的分貝我是前使用urldecode($ search_text)(rawurldecode)。
$sql = "SELECT *
FROM $db_table
WHERE $cur_match LIKE '%".urldecode($search_text)."%'";
(我知道有這個代碼沒有安全,但現在我必須做一些測試。)
試圖在phpMyAdmin查詢,一切工作正常,但如果我Concat的的$ SQL字符串Ajax響應,我可以看到正確的查詢
SELECT * FROM testdb WHERE t_ar LIKE '%ملح%'
我嘗試過多種方法,但未能達成解決方案。
jQuery的腳本和PHP的正常工作與英文字符等
我需要幫助:(
這是Ajax調用代碼
........
var serializedDataHP = $("#"+cur_form).serializeArray();
$.mobile.loading("show");
$.ajax({
cache: false,
type: "POST",
//contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
url: "includes/custom.php?action=search",
data: serializedDataHP,
success: function(msg) {
........
},
error: function() {
........
}
}); ........
謝謝
編輯
jQuery的使用:jQuery的1.7.2.min.js(?是否有與此版本相關的錯誤)
var serializedDataHP = $("#"+cur_form).serialize();
PHP
urldecode($search_text)
顯示在AJAX響應的SQL代碼我可以看到,像我上面寫的是正確的,但它返回0行,在phpmyadmin我獲得5個結果。 什麼是通過ajax發送阿拉伯語和非字符到php所有utf8的正確方法? TNX
QUOTE:「我想澄清一下,所有的html/php文件,與數據庫的連接和元字符集都是utf-8編碼的。」我已經使用 – benzo