【问题标题】:How can I decode UTF8 characters using jQuery?如何使用 jQuery 解码 UTF8 字符?
【发布时间】:2011-06-27 19:17:33
【问题描述】:

我最近刚刚解决了在这个线程中使用utf8_decode函数输出外来字符的问题:How do I convert, display and store this characters in PHP?

它通过直接回显结果来工作,但现在我有这个 json_encode 函数可以传递给 jquery 以获取结果。 Json_encode 将我的数据转义为这样的:

{"title":"\u90ed\u5bcc\u57ce - \u641c\u7d22"}

我如何从 jquery 进行 json_decode? 谢谢你的建议。

【问题讨论】:

  • How do I json_decode from jquery?是什么意思?
  • 抱歉,我无法理解您所链接问题的答案。 utf8_encode() 对使用 UTF-8 的站点有何帮助。该函数产生ISO-8859-1 输出!
  • 嗨 Alvaro,如果您参考我之前的帖子:stackoverflow.com/questions/6495158/… 您可以理解我为什么需要对字符串进行 utf8_decode。只有当我 utf8_decode 字符串时,我才能直接用 PHP 回显外来字符。但是现在我意识到解码它并传递给json会有这个问题:(
  • 推荐stackoverflow.com/questions/5396560/…可能对你有帮助!

标签: javascript jquery utf8-decode


【解决方案1】:

jQuery 直接从jQuery 对象提供parseJSON 方法:

var data = $.parseJSON('{"title":"\u90ed\u5bcc\u57ce - \u641c\u7d22"}');

不过,对于通过 AJAX 获取数据,$.getJSON 将在内部运行它并将$.parseJSON 的结果作为请求的最终结果传递。

【讨论】:

  • 我在 jquery 中有这个 parseJSON 但显然不起作用:(
  • @pakito:嗯,这个方法失败了,因为它的输出类似于$.parseJSON({title: "the title"})parseJSON 需要一个字符串,而不是一个对象。但!由于 JSON 代表 JavaScript Object Notation,这是受信任的内容,您可以将 json_encode 的结果放入脚本中:'var obj = ' . $title . ';'
  • 但是除了标题之外,我还有其他数据因此作为一个数组,因此我需要使用 json_encode 来传递给 jquery?
  • 非常感谢任何有帮助的人。
【解决方案2】:

您要么直接将其写入 JS,在这种情况下什么都不做,要么您使用 jQuery 中的 ajax 方法之一,在这种情况下,只需将 dataType 指定为 "json"

【讨论】:

  • 你是对的昆汀。一旦我设置它就可以工作。非常感谢并感谢所有回复帮助的人。再次感谢。
【解决方案3】:

试试

var obj = JSON.parse('{"title":"\u90ed\u5bcc\u57ce - \u641c\u7d22"}');

【讨论】:

  • I got Error: JSON.parse: unexpected character 测试代码可以直接保存在这里运行:pastie.org/2130655
猜你喜欢
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 2019-07-15
相关资源
最近更新 更多