Heim > Artikel > Backend-Entwicklung > So lösen Sie das verstümmelte Substr-PHP-Problem
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.
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!