Es gibt mehrere Dinge, die Sie beachten sollten:
hth
Wie bereits in anderen Fragen erwähnt, versteht PHP beim Versuch, einen Teilstring zu erhalten, nicht Multibyte-Zeichen (wie Sie zB mit UTF8 erhalten).
Was die anderen Antworten nicht erwähnen, ist, dass Sie die Codierung angeben sollten, die Sie für den mb_substr verwenden möchten
Also zum Beispiel benutze ich das:
%Vor%PHP-Strings verstehen Multibyte-Strings standardmäßig nicht, die Array-ähnliche Indizierung hackt das erste Byte und wenn das nicht im Ascii-Bereich ist, erhalten Sie dieses Ergebnis.
Verwenden Sie die Methode mb_substr .