Aktionen
GX-Task #40397
geschlossenUTF-8-Erkennung kann performanter gelöst werden
% erledigt:
100%
Steps to reproduce:
Betroffene Versionen:
2.1.1.2
Release Notes Langtext:
UTF-8-Erkennung performanter gelöst
Beschreibung
In mehreren Scripten im Shop wird ein UTF-8-String mittels des regulären Ausdrucks
if(preg_match('/(?:[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})+/xs', $p_string))
{
$t_encoding = 'UTF-8';
}
erkannt. Dies soll auch so funktionieren (ungetestet, niedrigste PHP-Version beachten):
if(preg_match('//u', $p_string))
{
$t_encoding = 'UTF-8';
}
Checkliste 0/0
Aktionen
#3
Von Timo Backhaus vor mehr als 10 Jahren aktualisiert
- Status wurde von Gemeldet zu Abgewiesen geändert
- Zugewiesen an wurde auf Timo Backhaus gesetzt
- Zielversion
2.1.3.0 beta1wurde gelöscht
Für die genannte Lösung wird die PCRE Erweiterung benötigt:
PCRE (Perl Compatible Regular Expressions) Support
Diese ist ab PHP 4.2.0 standardmäßig aktiviert und ab PHP 5.3 nicht mehr deaktivierbar.
Aktionen