【问题标题】:replace eurosign in json替换 json 中的欧元符号
【发布时间】:2009-12-30 17:30:47
【问题描述】:

谁能帮我解决这个问题

我有这个查询,并且只有在添加了最后一个针对欧元的索引之后 我得到了无效的 json。

$url = 'http://www.google.com/finance/info?client=ig&q=goog,yhoo,AMS:TOM2';
$response= json_decode($response,true); 

如果我直接回显输出,唯一不同的是 json 中的问号。

我会用什么来替换 json 返回中的 eurosign?,- 希望这能解决它。

谢谢你的广告,理查德

【问题讨论】:

    标签: php replace json euro


    【解决方案1】:

    JSON 是有效的 ISO-8859-1 或 Latin1。如果您的应用程序使用其他编码,例如 UTF-8,您需要将响应的编码从 Latin1 转换为 UTF-8。

    【讨论】:

    • 谢谢,不,我使用解码。我得到 curl 的响应,我从开头的正斜杠中剥离它,然后解码它。然后我循环扔了数组。除非我添加第三只股票,否则它返回 null。我打算用一只美国股票试一试,试图准确地找出问题所在。
    • 这行得通 utf8_encode($response) 我又阅读了 json_decode 的文档,在那里我看到了你所说的。虽然我想知道所有这些差异来自哪里。但是感谢您的解决方案。
    【解决方案2】:

    json_encodejson_decode 期望输入/输出为 utf-8。 PHP 默认使用 iso-8859-1 作为字符集。所以你可能需要转换。 (请注意,iso-8859-1 中不存在欧元符号)。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2015-08-26
      • 2014-11-11
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多