根据过去使用的语言,我已经经历了相同字符串的不同JSON编码值。由于API是在封闭环境中使用的(不允许第三方使用),我们做出了妥协,所有的Java应用程序都是手动编码Unicode字符。 LinkedIn的API正在返回“损坏”的值,这与我们的Java应用程序基本相同。我已经在他们的论坛上发布了question,我在这里问的原因很简单;共享是关怀:)因此,这个问题与LinkedIn有部分关联,但主要是试图找到下面描述的一般编码问题的答案。用PHP解码Java的JSON Unicode值
正如你所看到的,我的姓氏包含一个字母ž
,应该是\u017e
,但是Java(或LinkedIn的API)用JSON返回\u009e
,没有XML响应。 PHP的json_decode()
忽略它,我的姓氏变成Kurida。
经过调查,我发现ž
显然有两个表示,9e和17e。这里到底发生了什么?有没有解决这个问题的方法?
谢谢你提供一个非常具有描述性的答案。 LinkedIn回复说,他们的API中存在一个错误,根据您的答案,我们在Java应用中也可能有类似的错误。我可以发誓我们在各地都使用UTF-8。那么,仔细检查它是:)再次感谢。 – 2010-10-31 07:54:47