gpt4 book ai didi

php - Jquery ajax post 将阿拉伯字符发送到 php 和 mysql 查询,例如

转载 作者:行者123 更新时间:2023-11-30 00:41:47 25 4
gpt4 key购买 nike

我尝试了在网络和 StackOverflow 上找到的许多解决方案,但就我而言,我无法解决问题。

我想澄清一下,所有 html/php 文件、数据库连接和元字符集都是 utf-8 编码的。

我通过 jQuery.ajax() 发送 post 数据,并通过 firebug 查看帖子消息的来源,阿拉伯字符串仅使用 jQuery.serialize() 发送,如下所示(或序列化数组())

hp-search=%D9%85%D9%84%D8%AD

在 php 文件中,我有一个简单的查询,例如,在将参数传递给数据库之前,我使用 urldecode($search_text) (rawurldecode)。

$sql = "SELECT * 
FROM $db_table
WHERE $cur_match LIKE '%".urldecode($search_text)."%'";

(我知道这段代码没有安全性,但现在我只需要做一些测试。)

在 phpmyadmin 中尝试查询,一切正常,但如果我将 $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 all utf8的正确方法是什么?TNx

最佳答案

你必须统一html页面中的字符编码:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

也尝试使用 json_decode() 函数

关于php - Jquery ajax post 将阿拉伯字符发送到 php 和 mysql 查询,例如,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com