相关疑难解决方法(0)

jQuery 自动完成特殊字符

我有一个 ajax 调用,它获取由 php json_encode 方法创建的值的 JSON 表示:

["Montérégie","Montréal - North Shore ","Montréal - South Shore"]
Run Code Online (Sandbox Code Playgroud)

这些值是通过 jquery 自动完成框从“控制器/ajax_autocomplete”中获取的。

  $(function(){   $("#regions").autocomplete({               
            source: "controller/ajax_autocomplete",
            contentType: "application/json; charset=utf-8"
}                                                          
            });            
    }); 
Run Code Online (Sandbox Code Playgroud)

所有值都被 jQuery UI 的 ui-autocomplete 正确拾取,但特殊字符丢失了。 Montréal become Montréal, Montérégie become Montérégie...

特殊字符肯定会在 http 传输过程中被破坏,因为如果我手动将 JSON 表复制到 jquery 函数,问题就会消失。

    $(function(){   $("#regions").autocomplete({               
            contentType: "application/json; charset=utf-8",
            source: "["Montérégie","Montréal - North Shore ","Montréal - South Shore"]"
}                                                          
            });            
    }); 
Run Code Online (Sandbox Code Playgroud)

以编程方式解码 html 实体适用于文本框值,但建议列表仍用 HTML 实体替换特殊字符

$(function(){   $("#regions").autocomplete({              
        source: "controller/ajax_autocomplete",
        select: function( event, ui ) …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery json

5
推荐指数
1
解决办法
1241
查看次数

PHP JSON编码无效

我正在使用PHP(5.3.1)中的一个项目,我需要将一个JSON字符串发送到webservice(在python中),但是我从json_encode获得的结果不会作为有效的JSON传递(我正在使用JSLint)检查有效性).

我应该补充一点,我正在尝试编码的结构相当大(13K编码),并且部分由UTF8数据组成,而json_encode确实处理它,我在结果中的奇怪位置获得空格.例如,我可以获得{"hello":tru e}或{"hell o":true},这会导致Web服务出错,因为JSON无效(或数据,如第二个示例中所示).

我也尝试使用Zend框架进行JSON编码,但这并没有太大的不同.

PHP中的JSON是否存在已知问题?有没有人遇到过这种行为并找到了解决方案?

php json encode utf-8

4
推荐指数
3
解决办法
2万
查看次数

标签 统计

json ×2

php ×2

ajax ×1

encode ×1

javascript ×1

jquery ×1

utf-8 ×1