mit REGEXP utf8_decode aus scripts entfernen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bekommen
code
datei
datenbank
entfernen
ersetzen
feld
funktion
generell stimme
konvertieren
note
problem
re
set
standard
string
term
umstellung
verbindung
verzichten
-
Guten Morgen liebe Gemeinde :)
Ich möchte mit regexp aus mehreren Dateien die utf8_encode() Funktion entfernen.
Da des viele große Dateien sind und das verdammt häufig in denen vorkommt wäre das die schnellste Lösung.
Aptana bsp. bietet auch an mit Regexp zu Suchen / Ersetzen.
Das Problem ist die abschließende Klammer...
Aus: utf8_decode( $_POST["term"] )
Soll: $_POST["term"]
Gibt es hier findige regexp-Könner? :D
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
warum willst Du das machen?
"Please note that utf8_encode only converts a string encoded in ISO-8859-1 to UTF-8"
hast Du unterschiedliche Kodierungen?
wenn ja, empfehle ich dringend alles auf UTF-8 umzustellen!
Für die Umstellung brauchst Du kein REGEX -
Generell stimme ich da zu, habe das in dem gesammten Projekt auch so gemacht und war auch damit zufrieden.
Die Datenbank ist aber nicht von mir und auf latin1...
Nun bin ich dabei sämtliche Abfragen zu ändern und per JSON an JS zu übergeben.
Soweit so gut. Wenn aber der JSON-String in HTML eingebettet werden muss, bsp als Atribut, wirds kniffelig. Da des zusammen mit json_encode schief geht.
Habe es nun so gelöst das ich mysql_query("SET CHARSET 'utf8';"); bei der verbindung mit ausführe und somit auf die beiden en- und decode Funktionen verzichten kann.
[EDIT]
Habe des nun auch gelöst bekommen. War doch net so schwer wie ich dachte. ^^
Im Suchen-Feld in Aptana: utf8_decode\(([a-zA-Z0-9'_$"\[\]\(\).\->,]+)\)
Und die Gruppe 1 dann im ersetzen-Feld: $1
Schon sind alle verschwunden und das System läuft auch mit dem eingebetteten JSON super. :)
Beitrag zuletzt geändert: 2.10.2014 11:19:08 von kyoshin -
Ist es nicht einfacher die Datenbank zu konvertieren?
<?PHP $hostname = "localhost"; // Standard $database = "Datenbank-Name"; // ändern $username = "Benutzername"; // ändern $password = "Passwort"; // ändern mysql_connect($hostname, $username, $password); mysql_query("ALTER DATABASE $database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); $res = mysql_query("SHOW TABLES FROM $database"); while($row = mysql_fetch_row($res)) { $query = "ALTER TABLE {$database}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($query); $query = "ALTER TABLE {$database}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($query); } ?>
Beitrag zuletzt geändert: 2.10.2014 11:40:59 von dunkeltuten -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage