Heim php教程 PHP开发 Lösung für json_encode in PHP zur Bewältigung verstümmelter chinesischer GBK- und GB2312-Probleme

Lösung für json_encode in PHP zur Bewältigung verstümmelter chinesischer GBK- und GB2312-Probleme

Dec 27, 2016 pm 04:15 PM

Dieser Artikel beschreibt, wie json_encode in PHP das chinesische verstümmelte Problem von gbk und gb2312 behandelt. Die spezifische Methode lautet wie folgt:

1.json_encode() Chinesisch gibt null für Chinesisch in gbk/gb2312 zurück

$arr = array (
 array (
   'catid' => '4',
   'catname' => 'www.jb51.net',
   'meta_title' => '脚本之家'
  )
);
  
echo json_encode($arr);
Nach dem Login kopieren

Laufergebnis:

[{"catid":"4","catname":"www.jb51.net","meta_title":null}]
Nach dem Login kopieren

Schauen Sie sich „meta_title“ an: null Es hatte ursprünglich den Wert „Script Home“. Das Prinzip ist, dass json_encode nur die uft-8-Codierung unterstützt >
2. Die PHP-Hintergrundseite (die Seite ist als UTF-8 codiert oder die Zeichen wurden in UTF-8 konvertiert) verwendet json_encode, um das Array-Array in PHP in einen JSON-String zu konvertieren. Beispiel:

<?php
$data="JSON中文";
$newData=iconv("GB2312″,"UTF-8//IGNORE",$data);
echo $newData;
//ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。
//或是("GB2312″,"UTF-8″,$data);
?>
Nach dem Login kopieren

Ausgabeergebnis anzeigen:

<?php
$testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
echo json_encode($testJSON);
?>
Nach dem Login kopieren

Sichtbar Selbst wenn UTF8-kodierte Zeichen verwendet werden, erscheinen bei Verwendung von json_encode verstümmelte chinesische Zeichen. Die Lösung besteht darin, die Zeichen mit der Funktion urlencode() zu verarbeiten, bevor Sie json_encode und dann json_encode verwenden, und sie dann bei der Ausgabe des Ergebnisses mit der Funktion urldecode() zurückzukonvertieren. Die Details lauten wie folgt:

{"name":"u4e2du6587u5b57u7b26u4e32″,"value":"test"}
Nach dem Login kopieren

Ausgabeergebnis anzeigen:

<?php
$testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
//echo json_encode($testJSON);
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $testJSON ) );
?>
Nach dem Login kopieren

Zusammenfassung: Die json_encode-Funktion kann nur uft8-Zeichenfolgen verarbeiten. Wenn sie chinesisch ist, verarbeitet sie Bytes wahrscheinlich nicht gut, da die Längen von chinesischem gbk und uft unterschiedlich sind.

{"name":"中文字符串","value":"test"}
Nach dem Login kopieren
Weitere verwandte Artikel darüber, wie json_encode in PHP mit gbk- und gb2312-chinesischen verstümmelten Problemen umgeht, finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)