【问题标题】:charset on REST API.. æøåREST API 上的字符集.. æøå
【发布时间】:2011-07-04 16:23:08
【问题描述】:

如何让 æøå 在来自 REST API 的响应中工作?

响应是使用 json_encode() 生成的,并且由于输入数组必须是 utf8 编码的,因此响应中的特殊字符不可读..

我尝试在内容类型标题中设置字符集,但还是一样!?

Content-type: application/json; charset=utf-8

æøå 等特殊字符仍然不可读!?

回复

HTTP/1.1 200 OK
Date: Mon, 04 Jul 2011 16:16:16 GMT
Server: Apache
Content-Length: 91
Connection: close
Content-Type: application/json

{"result":[{"id":9,"name":"hehe \u00e6\u00f8\u00e5","type":0,"vatcode_id":0,"account":10}]}

【问题讨论】:

  • 在将代码解析为 json 之前,是否可以通过 utf8_encode() 解析数据?我过去曾将它与非 utf8 字符一起使用,在某些情况下效果很好。这不是最好的情况,但如果它对你有用。
  • @Ryan 字符编码正确,例如\u00e6代表æ
  • @Artefacto 我理解,我每天都处理非 utf8 字符,即使各种非 utf8 字符被正确编码,您仍然可以解析 utf8_encode(),通过 json_encode( )。
  • 使用这个库,它将格式错误的 JSON 转换为格式良好的 JSON。:php JSON

标签: php json api


【解决方案1】:

您的回复似乎一切正常。控制字符或非 ASCII 字符由json_encode\uXXXX 的形式编码。这没有什么问题,客户端应该能够理解这些转义序列。

您也无能为力,除非您想对json_encode 的输出进行后处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 2017-05-16
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多