Inhaltsverzeichnis
问题描述
解决方法
方法一:手动将中文编码
方法二:设置 json_encode() 的参数
方法三:修改 PHP 核心设置
结束语
Problembeschreibung
Lösung
Methode 1: Chinesisch manuell kodieren
Methode 3: PHP-Kerneinstellungen ändern
Fazit
Heim Backend-Entwicklung PHP-Problem Konvertieren Sie ein PHP-Objekt in einen verstümmelten chinesischen JSON-Code

Konvertieren Sie ein PHP-Objekt in einen verstümmelten chinesischen JSON-Code

May 22, 2023 pm 09:36 PM

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 中包含中文时,就会出现乱码的情况,如下图所示:

Konvertieren Sie ein PHP-Objekt in einen verstümmelten chinesischen JSON-Code

清晰的中文被转换为了乱码,这对用户和开发者都是不友好的。接下来,我们将介绍三种解决方法。

解决方法

方法一:手动将中文编码

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');
?>
Nach dem Login kopieren

加入这一段代码后,输出的字符串中的中文就会被正确地转换为 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);
?>
Nach dem Login kopieren

加入这个参数后,输出的 JSON 中的中文就会被正确输出,而不是乱码。

方法三:修改 PHP 核心设置

在 PHP 核心设置中,有一个参数 default_charset,它表示输出一些文本时使用的默认字符编码。如果该参数被设置为 UTF-8,那么 JSON 输出时中文也会被正确地编码。

示例代码如下:

<?php
ini_set('default_charset', 'utf-8');
$arr = [
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
];
echo json_encode($arr);
?>
Nach dem Login kopieren

将这段代码放在需要输出 JSON 的脚本中,就可以保证 JSON 中的中文不会出现乱码了。

结束语

在进行 Web 开发时,使用 JSON 格式进行数据传输是非常常见的。在 PHP 中,使用 json_encode() 函数将对象序列化成 JSON 格式的字符串时,可能会出现中文乱码的情况。本文介绍了三种解决方法:手动将中文编码、设置 json_encode() 的参数和修改 PHP 核心设置中的 default_charset

Problembeschreibung

Im PHP-Code verwenden wir die Funktion json_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 Parameter default_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 Funktion json_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!

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

Video Face Swap

Video Face Swap

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

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)

OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. Mar 26, 2025 pm 04:13 PM

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.

PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. Mar 25, 2025 am 10:37 AM

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.

PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. Mar 26, 2025 pm 04:18 PM

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.

PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. Mar 25, 2025 pm 03:12 PM

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.

PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. Mar 25, 2025 pm 03:06 PM

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.

PHP -API -Rate Begrenzung: Implementierungsstrategien. PHP -API -Rate Begrenzung: Implementierungsstrategien. Mar 26, 2025 pm 04:16 PM

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

PHP -Eingabevalidierung: Best Practices. PHP -Eingabevalidierung: Best Practices. Mar 26, 2025 pm 04:17 PM

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.

PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. Mar 25, 2025 pm 03:05 PM

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.

See all articles