首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getJSON将unicode字符打印为mojibake (Windows1252)

getJSON将unicode字符打印为mojibake (Windows1252)
EN

Stack Overflow用户
提问于 2012-02-27 15:44:06
回答 1查看 694关注 0票数 0

这是交易。我正在尝试开发一个适用于MySQL的类似聊天的应用程序。消息存储在数据库中,并使用JSON检索。

使用.getJSON,我将其打印到div元素,该元素用作邮箱。我使用1s间隔来检查消息和刷新。以下是检索JSON的代码:

代码语言:javascript
复制
setInterval(function() { 
    $.getJSON("inbox.php?<?php echo $_SESSION['connect']; ?>", function(data) {     
        if(data.length > 0) {
            var str = "";
            $.each(data, function(k, v) {               
                str += "<div class='inbox'>(" + v.time_trace + ") " + v.name + ": " + v.message + "</div>";
            });
            $("#messages").html(str);
        }
    });
}, 1000);

一切都很顺利除了..。

当我发送一条unicode消息,特别是西里尔消息时,当jQuery使用那个计时器/间隔时,我会在Windows1252中得到mojibake。之前所有的消息都会被混淆,直到我从浏览器刷新整个页面,而且看起来还不错,显示了UTF-8。看起来是这样的:

代码语言:javascript
复制
�его� �ила ��п�ка.

如果我禁用计时器,并刷新自己,我会收到好消息,但我需要它自动检查。HTML设置为UTF-8,DB设置为utf8_general_ci。

我真的认为这与getJSON有关,或者与文件编码有关。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-08 02:11:13

我通过删除我在代码的另一部分中使用的htmlspecialchars来解决我的问题。弄得一团糟。谢谢你的标记字符串说明,我很感激。

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

https://stackoverflow.com/questions/9467823

复制
相关文章

相似问题

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