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.
(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string — Escapes a string for use in a mysql_query
This function will escape the
so that it is safe to place it in a mysql_query().
This function is deprecated.
This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
The string that is to be escaped.
Returns the escaped string.
|5.3.0||This function now throws an E_DEPRECATED notice.|
|4.3.0||This function became deprecated, do not use this function. Instead, use mysql_real_escape_string().|
Example #1 mysql_escape_string() example
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
The above example will output:
Escaped string: Zak\'s Laptop
mysql_escape_string() does not escape % and _.