Projekt

Allgemein

Profil

Aktionen

GX-Task #40397

geschlossen

UTF-8-Erkennung kann performanter gelöst werden

Von Moritz Bunjes vor etwa 10 Jahren hinzugefügt. Vor etwa 7 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Mirko Janssen
Kategorie:
Core
Zielversion:
% 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';
}


Aktionen #2

Von Till Tepelmann vor etwa 10 Jahren aktualisiert

  • Zielversion wurde auf 2.1.3.0 beta1 gesetzt
Aktionen #3

Von Timo Backhaus vor etwa 10 Jahren aktualisiert

  • Status wurde von Gemeldet zu Abgewiesen geändert
  • Zugewiesen an wurde auf Timo Backhaus gesetzt
  • Zielversion 2.1.3.0 beta1 wurde 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 #4

Von Timo Backhaus vor etwa 10 Jahren aktualisiert

  • Status wurde von Abgewiesen zu Anerkannt geändert
  • Zielversion wurde auf 34 gesetzt
Aktionen #5

Von Nonito Capuno vor fast 10 Jahren aktualisiert

  • Zugewiesen an Timo Backhaus wurde gelöscht
  • Zielversion wurde von 34 zu 58 geändert
Aktionen #6

Von Daniel Wu vor mehr als 7 Jahren aktualisiert

  • Tracker wurde von GX-Task zu GX-Feature geändert
Aktionen #7

Von Daniel Wu vor mehr als 7 Jahren aktualisiert

  • Tracker wurde von GX-Feature zu GX-Task geändert
  • Zielversion wurde von 58 zu 133 geändert
Aktionen #8

Von Torben Wark vor etwa 7 Jahren aktualisiert

  • Status wurde von Anerkannt zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Torben Wark gesetzt
  • Zielversion wurde von 133 zu 3.7.2.0 beta1 geändert
  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #9

Von Torben Wark vor etwa 7 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Testing geändert
  • Zugewiesen an wurde von Torben Wark zu Core-Entwickler geändert
Aktionen #10

Von Mirko Janssen vor etwa 7 Jahren aktualisiert

  • Zugewiesen an wurde von Core-Entwickler zu Mirko Janssen geändert
Aktionen #11

Von Mirko Janssen vor etwa 7 Jahren aktualisiert

  • Status wurde von Testing zu Erledigt geändert
  • % erledigt wurde von 0 zu 100 geändert
Aktionen

Auch abrufbar als: Atom PDF