it seems the function changes the character encoding of the string.
I get utf-8 encoded string and my mysql database is set to utf-8 as well.
If i just write the data to the database it works perfectly fine, if i use this function, it changes the encoding and therefore stores the wrong characters.
Seems like a bug to me.
mysql_escape_string
(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string — Maskiert einen String zur Benutzung in einer MySQL Abfrage
Beschreibung
$unescaped_string
)
Diese Funktion maskiert unescaped_string
zur sicheren Benutzung in mysql_query().
Diese Funktion ist identisch zur Funktion mysql_real_escape_string() ausgenommen, dass mysql_real_escape_string() eine Verbindungs-Kennung benötigt und den String entsprechend zum aktuellen Zeichensatz maskiert. Der Funktion mysql_escape_string() kann keine Verbindungs-Kennung übergeben werden und der aktuelle Zeichensatz wird nicht berücksichtigt.
Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.
Parameter-Liste
-
unescaped_string -
Die zu maskierende Zeichenkette.
Rückgabewerte
Gibt die maskierte Zeichenkette zurück.
Changelog
| Version | Beschreibung |
|---|---|
| 5.3.0 | Diese Funktion löst nun eine E_DEPRECATED Notiz aus. |
| 4.3.0 | Diese Funktion gilt als veraltet, nutzen sie diese nicht. Nutzen sie stattdessen mysql_real_escape_string(). |
Beispiele
Beispiel #1 mysql_escape_string() Beispiel
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Escaped string: Zak\'s Laptop
Anmerkungen
Hinweis:
mysql_escape_string() maskiert nicht % und _.
Siehe auch
- mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
- addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
- The magic_quotes_gpc directive.
The exact characters that are escaped by this function are the null byte (0), newline (\n), carriage return (\r), backslash (\), single quote ('), double quote (") and substiture (SUB, or \032).
