utf8 string Länge
strlen()
- Funktion in php konnte nicht ordnungsgemäß zurückgeben, string Länge von utf8-Zeichen, zum Beispiel سلام
ist 4 char aber nach der Verwendung von strlen thats zurück 8 chr
<?php
echo strlen('سلام');
?>
- 2?! Es sollten 8 sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Kern von PHP-string-Funktionen gehen alle davon aus 1 Zeichen = 1 byte. Sie haben keine Vorstellung von verschiedenen Codierungen. Um herauszufinden, wie viele Zeichen sind in einer UTF-8-string (nicht wie viele bytes), verwenden Sie das
mb_strlen
gleichwertig sind, und sagen, welche Codierung der Zeichenfolge in:Können Sie die Anzahl der UTF-8-Codepoints im inneren eine binäre PHP string (solange es gültig ist UTF-8-codierte) (Demo):
Können Sie auch die multibyte-Erweiterung, wenn Sie es installiert haben:
Siehe auch: PHP UTF-8 String, Länge