首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery json的字符

问使用jquery json的字符
EN

Stack Overflow用户
提问于 2010-03-16 19:54:55
回答 4查看 5.6K关注 0票数 7

我使用jquery $.getJSON来检索城市列表。

一切都很好,但我来自爱沙尼亚,我们使用了一些字符,如ó,ü。ä,ö.

当我将这样的字母传递给回调函数时,我总是得到空字符串。我尝试过对(服务器端)-decode(jquery base64插件)字符串进行base64编码(我想只要我能用php压缩页面就是个好主意,这样我就不用担心带宽问题了),但这样我就得到了一些随机的中文符号。

解决此问题的最佳解决方法是什么。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-16 20:12:05

你需要utf8_encode()你的输出数据。没有必要在客户端将您的编码设置为UTF-8,因为它已经是默认的。

代码语言:javascript
复制
<?php
    if( isset( $_GET['json'] ) ) {

        die( json_encode( array( 'text' => utf8_encode( 'õ, ü. ä, ö' ) ) ) );
    }

    include_jquery(); # this outputs jquery include
>?

<script>

    $.getJSON( 'this_file.php', { 'json': 1 }, function( data ) {
        console.log( 'data', data );
    });

</script>
票数 4
EN

Stack Overflow用户

发布于 2010-03-16 20:11:05

您必须确保保持一致的字符编码。您需要的爱沙尼亚字符是utf-8格式的,所以您必须使用$.ajax并显式地设置字符编码(通过contentType)。

您可以使用生成的ajax并对其进行处理。

您还可以在调用getJSON之前使用ajaxSetup来设置内容类型。

http://api.jquery.com/jQuery.ajaxSetup/

这将允许您使用getJSON

此外,这里有一篇关于同一主题的相关SO帖子:How to set encoding in .getJSON JQuery

票数 2
EN

Stack Overflow用户

发布于 2010-03-16 20:09:56

在php页面中使用UTF-8作为输出编码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2454053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档