


Konvertieren Sie ein PHP-Objekt in einen verstümmelten chinesischen JSON-Code
Bei der Webentwicklung wird JSON
häufig verwendet, um Objekte in JSON
-Daten umzuwandeln und diese asynchron über AJAX
zu übertragen. Wenn Sie jedoch das PHP-Backend für eine JSON
-formatierte Ausgabe verwenden, kann es nach der Konvertierung des Objekts in das JSON
-Format zu verstümmelten chinesischen Zeichen kommen. In diesem Artikel wird erläutert, wie Sie dieses Problem beheben können. JSON
,将对象转换为 JSON
数据,并通过 AJAX
进行异步传输。然而在使用 PHP 后台进行 JSON
格式化输出时,可能会遇到对象转换为 JSON
格式后中文乱码的情况。本文将介绍如何解决这个问题。
问题描述
在 PHP 代码中,我们使用 json_encode()
函数将对象转换成 JSON 格式的字符串,然后通过 echo
输出。但是,当 JSON 中包含中文时,就会出现乱码的情况,如下图所示:
清晰的中文被转换为了乱码,这对用户和开发者都是不友好的。接下来,我们将介绍三种解决方法。
解决方法
方法一:手动将中文编码
在 json_encode()
函数前加上 json_encode()->mb_convert_encoding()
,将中文手动编码成 utf-8。
示例代码如下:
<?php $arr = [ 'name' => '张三', 'age' => 18, 'gender' => '男' ]; echo mb_convert_encoding(json_encode($arr, JSON_UNESCAPED_UNICODE), 'UTF-8'); ?>
加入这一段代码后,输出的字符串中的中文就会被正确地转换为 utf-8 编码,而不是乱码。
方法二:设置 json_encode()
的参数
在 json_encode()
函数中添加 JSON_UNESCAPED_UNICODE
参数,告诉 json_encode()
函数不要将中文编码成 Unicode,直接保留中文即可。
示例代码如下:
<?php $arr = [ 'name' => '张三', 'age' => 18, 'gender' => '男' ]; echo json_encode($arr, JSON_UNESCAPED_UNICODE); ?>
加入这个参数后,输出的 JSON 中的中文就会被正确输出,而不是乱码。
方法三:修改 PHP 核心设置
在 PHP 核心设置中,有一个参数 default_charset
,它表示输出一些文本时使用的默认字符编码。如果该参数被设置为 UTF-8,那么 JSON 输出时中文也会被正确地编码。
示例代码如下:
<?php ini_set('default_charset', 'utf-8'); $arr = [ 'name' => '张三', 'age' => 18, 'gender' => '男' ]; echo json_encode($arr); ?>
将这段代码放在需要输出 JSON 的脚本中,就可以保证 JSON 中的中文不会出现乱码了。
结束语
在进行 Web 开发时,使用 JSON 格式进行数据传输是非常常见的。在 PHP 中,使用 json_encode()
函数将对象序列化成 JSON 格式的字符串时,可能会出现中文乱码的情况。本文介绍了三种解决方法:手动将中文编码、设置 json_encode()
的参数和修改 PHP 核心设置中的 default_charset
Problembeschreibung
Im PHP-Code verwenden wir die Funktionjson_encode()
, um das Objekt in eine JSON-Formatzeichenfolge zu konvertieren und es dann über echo . Wenn JSON jedoch Chinesisch enthält, werden verstümmelte Zeichen angezeigt, wie in der folgenden Abbildung dargestellt: 🎜🎜<img src="/static/imghw/default1.png" data-src="https://img-blog.csdnimg.cn/20181218104120173.png" class="lazy" alt="Chinesisches verstümmeltes Codebeispiel " title="Beispiel für verstümmelten chinesischen Code">🎜🎜Klare chinesische Zeichen werden in verstümmelte Zeichen umgewandelt, was für Benutzer und Entwickler unfreundlich ist. Als nächstes stellen wir drei Lösungen vor. 🎜<h2 id="Lösung">Lösung</h2>
<h3 id="Methode-Chinesisch-manuell-kodieren">Methode 1: Chinesisch manuell kodieren</h3>🎜Fügen Sie <code>json_encode()->mb_convert_encoding vor der Funktion <code>json_encode()
() hinzu, kodieren Sie Chinesisch manuell in utf-8. 🎜🎜Der Beispielcode lautet wie folgt: 🎜rrreee🎜Nach dem Hinzufügen dieses Codeabschnitts wird das Chinesisch in der Ausgabezeichenfolge korrekt in die UTF-8-Codierung anstelle von verstümmelten Zeichen konvertiert. 🎜Methode 2: Legen Sie die Parameter von json_encode()
fest. 🎜Fügen Sie den Parameter JSON_UNESCAPED_UNICODE
in der Funktion json_encode()
hinzu sagen: Die Funktion json_encode()
kodiert Chinesisch nicht in Unicode, sondern behält einfach das Chinesische bei. 🎜🎜Der Beispielcode lautet wie folgt: 🎜rrreee🎜Nach dem Hinzufügen dieses Parameters wird das Chinesisch im Ausgabe-JSON korrekt anstelle von verstümmelten Zeichen ausgegeben. 🎜Methode 3: PHP-Kerneinstellungen ändern
🎜In den PHP-Kerneinstellungen gibt es einen Parameterdefault_charset
, der die Standardzeichenkodierung angibt, die bei der Ausgabe von Text verwendet wird. Wenn dieser Parameter auf UTF-8 gesetzt ist, wird Chinesisch bei der Ausgabe von JSON korrekt codiert. 🎜🎜Der Beispielcode lautet wie folgt: 🎜rrreee🎜Fügen Sie diesen Code in das Skript ein, das JSON ausgeben muss, um sicherzustellen, dass das Chinesisch in JSON nicht verstümmelt wird. 🎜Fazit
🎜Bei der Webentwicklung wird häufig das JSON-Format für die Datenübertragung verwendet. Wenn Sie in PHP die Funktionjson_encode()
verwenden, um ein Objekt in eine Zeichenfolge im JSON-Format zu serialisieren, werden möglicherweise verstümmelte chinesische Zeichen angezeigt. In diesem Artikel werden drei Lösungen vorgestellt: manuelles Codieren von Chinesisch, Festlegen der Parameter von json_encode()
und Ändern des Parameters default_charset
in den PHP-Kerneinstellungen. Diese Methoden können das Problem der verstümmelten chinesischen JSON-Zeichen effektiv lösen, und die spezifische Verwendung kann entsprechend der tatsächlichen Situation ausgewählt werden. 🎜Das obige ist der detaillierte Inhalt vonKonvertieren Sie ein PHP-Objekt in einen verstümmelten chinesischen JSON-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

In dem Artikel werden Strategien zur Implementierung der API-Rate in PHP erörtert, einschließlich Algorithmen wie Token-Bucket und Leaky Bucket sowie Bibliotheken wie Symfony/Rate-Limiter. Es deckt auch die Überwachung, die dynamischen Einstellungsgeschwindigkeiten und die Hand ab

In Artikel werden Best Practices für die Validierung der PHP-Eingabe erörtert, um die Sicherheit zu verbessern und sich auf Techniken wie die Verwendung integrierter Funktionen, den Whitelist-Ansatz und die serverseitige Validierung zu konzentrieren.

In dem Artikel werden Strategien erörtert, um CSRF-Angriffe in PHP zu verhindern, einschließlich der Verwendung von CSRF-Token, selben Cookies und ordnungsgemäßem Sitzungsmanagement.
