我正在向我的 PHP Web 服务发送一个 JSON POST 正文,看起来像这样:
{
"foo": "☺"
}
当我在 PHP 中回显正文时,我看到:
{
"foo":"\xe2\x98\xba"
}
我也试过发送\uXXXX
等价的:
{
"foo": "\u263a"
}
这更进一步,因为收到的原始 JSON 字符串有"foo":"\\u263a"
,但在json_decode
值变成\xe2\x98\xba
.
当我在 JSON 响应中使用该值时,这会导致问题。我得到:
json_encode(): Invalid UTF-8 sequence in argument
简而言之,这就是我尝试对字符串进行 JSON 编码的原因:
> php -r 'echo json_encode("\x98\xba\xe2");'
PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in Command line code on line 1
我的问题是:我怎样才能最好地将这个笑脸从我的应用程序的一端带到另一端?
我很感激你能提供的任何帮助。