5 Stimmen

Unterstützt json arabische Zeichen?

Ich möchte eine schnelle Frage stellen, unterstützt Json arabische Zeichen, wenn ich nach etwas suche wie folgt

$values = $database->get_by_name(''); 
echo json_encode(array('returnedFromValue' => $value.""));

Ich suche auch nach arabischen Ergebnissen aus der Datenbank, die zurückgegebenen Werte werden so ​​aussehen

{"returnedFromValue":"\u0627\u0644\u0645\u0639\u0627\u062f\u0649"}{"returnedFromValue":"\u0627\u0644\u0645\u0639\u0627\u062f\u0649"}

Was fehlt mir hier? Ist es besser, XML zu verwenden, um arabische Zeichen zu unterstützen?

2voto

salathe Punkte 49834

PHP 5.4.0 wird eine spezielle Option für json_encode() namens JSON_UNESCAPED_UNICODE unterstützen. Dadurch wird das Standardverhalten unterbunden, Zeichen in ihre \uXXXX-Form umzuwandeln.

$value = '';
echo json_encode($value, JSON_UNESCAPED_UNICODE);
// Ausgabe: ""

1voto

oezi Punkte 49639

JSON ist, genau wie XML, eine Art Datenaustauschformat. Es ist nicht auf ein bestimmtes Zeichensatz festgelegt, sodass arabische Zeichen funktionieren sollten, wenn Sie einen Zeichensatz verwenden, der diese Zeichen unterstützt (UTF-8 zum Beispiel).

1 Stimmen

Die JSON-Spezifikation besagt, dass "JSON-Text in Unicode codiert sein SOLL. Die Standardcodierung ist UTF-8.", daher ist es "abhängig" von einer sehr kleinen Anzahl von Zeichensätzen.

0voto

mario Punkte 141130

Diese \u0627-Zahlen sind die Unicode-Codepoints für Ihre arabischen Buchstaben. PHP verwendet sie anstelle der rohen UTF-8 Serialisierung, aber sie sind vorhanden. Ja, JSON unterstützt es. Wenn der Ergebnisstring clientseitig (mit Javascript) ausgegeben würde, würden Sie die Buchstaben wieder sehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X