Als Teil des Einfügens von Produktnamen in eine flache Datei muss ich sie auf maximal 50 Zeichen abschneiden.Teilstring führt zu nicht druckbaren Zeichen
Einige Produktnamen enthalten jedoch Zeichen mit Akzenten, und wenn diese an der 50. Stelle (oder so) stehen, wird der abgeschnittene Produktname nicht richtig angezeigt.
Hier ist, wie das Problem (PHP) zu replizieren:
$tmp = "Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC";
$xxx = substr(trim($tmp), 0, 50);
echo $tmp . PHP_EOL;
echo $xxx . PHP_EOL;
Displays:
Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC
Kaspersky Anti-Virus 2015 (Renovación) Suscripci�
Wie kann ich loswerden dieser nichtanzeigbaren Zeichen erhalten?
Mit 'mb_substr' –
Sie hacken ein Multi-Byte-Zeichen in zwei. Keine gute Idee, das tut weh. Verwenden Sie die Multi-Byte-Varianten der String-Funktionen von PHP. Siehe die Dokumentation: http://php.net/manual/de/ref.mbstring.php – arkascha