Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
%cd转换为Í;在ajax中调用php_Php_Jquery_Char - Fatal编程技术网

%cd转换为Í;在ajax中调用php

%cd转换为Í;在ajax中调用php,php,jquery,char,Php,Jquery,Char,我有一个奇怪的问题,我完全不知道如何解决 我有一个小小的AJAX调用: $('#toexcel').live("click",function() { var sql = grid.data().sql; $.ajax({ url: "toExcel.php", data: "sql="+sql, success: function(response){

我有一个奇怪的问题,我完全不知道如何解决

我有一个小小的AJAX调用:

    $('#toexcel').live("click",function() {
        var sql = grid.data().sql;
        $.ajax({
            url: "toExcel.php",
            data: "sql="+sql,
            success: function(response){
                window.location.href = response.url;
            }
        });
        alert(sql);
    });
}); 
它将
sql
查询从
grid
对象传递到
toExcel
toExcel
使用
PHPExcel
对象输出excel文件

现在:

当警报弹出时,它有一个外观正常的查询
…如“%cdviled%”…

但是,当我在toExcel.php中访问这个查询时,它看起来像是
…像“Íviled04%”
查询显然失败了


为什么???????PHP是如何将
%cd
解释为。在发送ajax请求之前,您需要先运行参数


尽管如此,通过ajax发送搜索词并让PHP在服务器端组装SQL,您可能会得到更好(更安全)的结果

PHP将
%cd
解释为。在发送ajax请求之前,您需要先运行参数


尽管如此,通过ajax发送搜索词并让PHP在服务器端组装SQL,您可能会得到更好(更安全)的结果

%cd
Í
的有效URL编码表示形式,PHP也会这样处理它

解决办法很简单。更改:

data: "sql="+sql,
致:


%cd
Í
的有效URL编码表示形式,PHP也会这样处理它

解决办法很简单。更改:

data: "sql="+sql,
致:


@DaveRandom您也可以从我这里得到+1,因为我提供了一个示例(:感谢Phoenix的首创和解释,但我会接受Dave的回答,因为他通过直接提供工作代码来欣赏我的懒惰=)+1me@DaveRandom我给你举了个例子,你也得到了+1(:感谢Phoenix的首肯和解释,但我会接受Dave的回答,因为他通过直接提供工作代码来欣赏我的懒惰=)+1来自meit's strange我以前从未遇到过这个问题。我用谷歌搜索了%cd,但它没有显示任何相关信息,然后搜索引擎也不喜欢像%=)@Elen这样的特殊字符。如果你用谷歌搜索了
Í
并查看了它生成的URL,可能会给你一个线索…;-)奇怪的是,我以前从未遇到过这个问题。我用谷歌搜索了%cd,但它没有显示任何相关信息,然后搜索引擎也不喜欢像%=)@Elen这样的特殊字符。如果你用谷歌搜索了
Í
并查看了它生成的URL,可能会给你一个线索…;-)