Ich bin ein JSON-POST Körper zu meinem PHP-Web-Service senden, die etwa wie folgt aussieht:PHP Unicode in JSON
{
"foo": "☺"
}
Wenn ich den Körper in der PHP-Echo aus, sehe ich:
{
"foo":"\xe2\x98\xba"
}
ich auch die \uXXXX
Äquivalent versucht haben, zu senden:
{
"foo": "\u263a"
}
Diese weitere bekam, dass in der rohen String JSON erhalten d hatte "foo":"\\u263a"
, aber nach json_decode
der Wert wandte sich an \xe2\x98\xba
.
Das verursacht Probleme, wenn ich den Wert in einer JSON-Antwort verwende. Ich bekomme:
json_encode(): Invalid UTF-8 sequence in argument
Am einfachsten ist es das, was warum passiert, ich JSON versuchen, die Zeichenfolge kodieren:
> 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
Meine Frage ist: Wie kann ich am besten erhalten diese Smiley-Gesicht von einem Ende meiner Bewerbung an die andere?
Ich würde jede mögliche Hilfe schätzen, die Sie anbieten konnten.
Wie hast du "[...] den Körper [...] ausgestrahlt"? – PleaseStand
'echo" \ xe2 \ x98 \ xba "; funktioniert; zeigt den korrekten Unicode-Smilie. –
@PleaseStand Ich habe es mit 'error_log (file_get_contents ('php: // input'))' an error_log gesendet ''. –