Das Ausgeben von Arrays in PHP ist ein sehr häufiger Vorgang, aber manchmal besteht das Problem, dass chinesische Zeichen nicht richtig angezeigt werden können. Dies liegt daran, dass der von PHP verwendete Standardzeichensatz ISO-8859-1 ist und chinesische Zeichen vorhanden sind ISO-8859-1 wird nicht unterstützt. In diesem Artikel wird erläutert, wie das Problem gelöst werden kann, dass das chinesische Ausgabearray von PHP nicht normal angezeigt werden kann.
1. Zeichenkodierung verstehen
Bevor wir erklären, wie das Problem gelöst werden kann, dass das PHP-Ausgabearray nicht normal angezeigt werden kann, wollen wir zunächst die relevanten Kenntnisse der Zeichenkodierung verstehen.
ASCII-Code ist eine Kodierungsmethode, die 7-Bit- oder 8-Bit-Binärkodierung zur Darstellung von Zeichen verwendet. Der ASCII-Code enthält Zeichen wie Zahlen, Buchstaben, Satzzeichen, Steuersymbole usw. mit insgesamt 128 Zeichen. ASCII-Code ist die früheste von Computern verwendete Kodierungsmethode.
Unicode-Kodierung ist ein Zeichenkodierungsschema, das die meisten Zeichensätze der Welt, einschließlich chinesischer Schriftzeichen, enthält. Die Unicode-Kodierung verwendet eine 2-Byte- oder 4-Byte-Kodierung, wobei chinesische Schriftzeichen eine 3-Byte-Kodierung verwenden.
UTF-8-Kodierung ist eine Unicode-Kodierung variabler Länge, die 1-4 Bytes verwendet. Stellt ein Zeichen dar Der ASCII-Code wird durch 1 Byte dargestellt, und chinesische Zeichen werden durch 3 Byte dargestellt. Die UTF-8-Kodierung wird häufig in der Webentwicklung verwendet.
2. Lösen Sie das Problem, dass das chinesische Ausgabearray von PHP nicht normal angezeigt werden kann.
Nachdem wir die relevanten Kenntnisse der Zeichenkodierung verstanden haben, lösen wir das Problem des chinesischen Ausgabearrays von PHP kann nicht normal angezeigt werden. Die Lösung lautet wie folgt:
Ändern Sie die PHP-Dateikodierung in UTF-8-Kodierung. Sie können sie unter hinzufügen am Anfang der PHP-Datei Der folgende Code ist implementiert:
header('Content-Type:text/html;charset=utf-8');
Auf diese Weise wird die PHP-Datei mit UTF-8-Codierung ausgegeben und chinesische Schriftzeichen können normal angezeigt werden.
Wenn das Problem durch Ändern der PHP-Dateikodierung nicht behoben wird, können Sie es versuchen die chinesischen Zeichen in der Array-Kodierungsmethode. Um die Kodierungsmethode chinesischer Zeichen von ISO-8859-1 auf UTF-8 zu ändern, können Sie den folgenden Code verwenden:
$new_array = array(); foreach($old_array as $key=>$value){ if(is_string($value)){ $new_array[$key] = mb_convert_encoding($value, "UTF-8", "ISO-8859-1"); } else{ $new_array[$key] = $value; } }
Im obigen Code verwenden Sie foreach, um das Array zu durchlaufen Um festzustellen, ob das Array-Element ein String-Typ ist, ändern Sie, wenn ja, die Kodierungsmethode des Elements von ISO-8859-1 in UTF-8 und speichern Sie die geänderten Elemente im neuen Array. Wenn nicht, speichern Sie die ursprünglichen Elemente in das neue Array. Geben Sie abschließend das neue Array aus.
Wenn die ersten beiden Methoden das Problem nicht lösen können, können Sie versuchen, es einzurichten die UTF-8-Kodierung der HTML-Seite. Legen Sie die UTF-8-Kodierung fest, indem Sie den folgenden Code in den Kopf der HTML-Seite einfügen:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Auf diese Weise können chinesische Zeichen normal auf der HTML-Seite angezeigt werden.
Zusammenfassung
Das Ausgeben von Arrays in PHP ist ein sehr häufiger Vorgang, aber manchmal besteht das Problem, dass Chinesisch nicht richtig angezeigt werden kann. Dies liegt daran, dass der von PHP standardmäßig verwendete Zeichensatz ISO-8859-1 ist und chinesische Zeichen in ISO-8859-1 nicht unterstützt werden. Um dieses Problem zu lösen, können wir die PHP-Dateikodierung ändern, die Kodierung chinesischer Zeichen im Array ändern oder die UTF-8-Kodierung in der HTML-Seite festlegen. Mit der oben genannten Methode können Sie das Problem lösen, dass das chinesische Ausgabearray von PHP nicht normal angezeigt werden kann.
Das obige ist der detaillierte Inhalt vonPHP-Ausgabearray Chinesisch kann nicht angezeigt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!