Ist mb_strlen einen geeigneten Ersatz für iconv_strlen
-
20-09-2019 - |
Frage
Das heißt, wenn ich ganz in PHP4 etwas Codierung bin? Oder vielleicht sollte ich eine benutzerdefinierte Funktion oder Klasse / Erweiterung verwenden stattdessen die Anzahl der Zeichen in einer Multibyte-String zu zählen?
Der einzige Unterschied ich erkennen kann, ist, dass mb_string Streifen aus schlechten Sequenzen, während iconv_strlen nicht.
Lösung
Wenn Sie ein Drop-in-Ersatz für Normal Strlen wollen, verwenden Sie mb_strlen wie es gibt immer einen int. Dies ist sehr fraglich, obwohl (iconv die Korrektheit über mb Toleranz), aber in der Praxis Toleranz mb_strlen Schuld diente mich besser. So stellen Sie sicher, dass Sie configure mb, um den gewünschten kodieren, die entweder in der php.ini oder an einer zentralen Stelle in Ihrer Anwendung.
Unicode-Unterstützung in PHP ist in einem schlechten Platz, müssen Sie sich bewusst von vielen Gefahren und Ausnahmen. ein komplettes Gerät von mehreren großen Anwendungen und deren Benutzerdaten in UTF-8, getan zu haben, ich könnte Ihnen einen Fluss weinen.