Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das verstümmelte Substr-PHP-Problem

So lösen Sie das verstümmelte Substr-PHP-Problem

藏色散人
藏色散人Original
2020-11-01 15:02:022462Durchsuche

Der verstümmelte Code in der PHP-Substr-Funktion ist auf die chinesische UTF-8-Codierung zurückzuführen, während GB2312 2 Bytes und Englisch 1 Byte belegt. Die Lösung ist: Verwenden Sie mb_substr. Nur eine Funktion.

So lösen Sie das verstümmelte Substr-PHP-Problem

Empfohlen: „PHP-Video-Tutorial

PHP löst das Problem des Abfangens verstümmelter Zeichenfolgen substr(). Hier ist ein Beispiel:

<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>

Bei Verwendung der substr-Funktion sind chinesische Zeichen anfällig für verstümmelte Zeichen. Dies liegt daran, dass bei der chinesischen UTF-8-Codierung jedes chinesische Zeichen 3 Bytes einnimmt, während GB2312 2 Bytes einnimmt und Englisch 1 Byte einnimmt. Die Anzahl der abgefangenen Ziffern ist ungenau und „zersägt“ ein chinesisches Zeichen plötzlich in zwei Hälften , wodurch die getrennten Zeichen zu einem Wort zusammengefügt werden, sodass PHP substr verstümmelte chinesische Zeichen erscheinen. Lösung

Sie können die Funktion mb_substr() verwenden. Hier ist ein Beispiel:

echo mb_substr("php中文字符encode",0,4,"utf-8");

Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Substr-PHP-Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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