| 

.NET C# Java Javascript Exception

1
Hallo,

json_encode macht ja aus einem String oder Objekt einen JSON-String. Das klappt auch gut. Nur bei folgendem String gibt die Funktion Null zurück und ich hab keine Ahnung, warum.

$result = json_encode("Anwender von SQL Azure müssen umdenken.");


$result ist also Null. Kann jemand helfen?
News:
28.01.2011
tack 294 1 8
2 Antworten
2
Ja, den Fehler hatte ich auch schon mal. Das hat länger gedauert, bis ich drauf kam: json_encode hat ein Problem mit den Umlauten oder besser, mit Zeichen die Jenseits der 127 ASCII liegen.
Du musst vorher entweder utf8_encode oder urlencode drüber laufen lassen. Dann geht es.
Also
$result = json_encode(urlencode("Hier müssen die Zeichen konvertiert werden"));
28.01.2011
tboerner 509 8
genau das ist es.
tack 31.01.2011
Das ist es nicht! Lt. RFC 4627 Sektion 2.5 können/sollen High-Level-Characters in einem String escaped werden. Aus dem obigen String wird dann automatisch folgendes:
"Anwender von SQL Azure m\u00fcssen umdenken."

Und PHP - auf jeden Fall 5.3 - macht das genau so.
Laph 04.02.2011
0
probier es mal mit:

$a = array(
'text' => "Anwender von SQL Azure müssen umdenken.",
);
$json = json_encode($a);
echo $json;
28.01.2011
Floyd 14,6k 3 9

Stelle deine Php-Frage jetzt!