mysql_real_escape_string() de los documentos de mysql.com:
mysql_real_escape_string() es consciente del conjunto de caracteres, por lo que replicar todas sus habilidades (especialmente contra problemas de ataques de múltiples bytes) no es una pequeña cantidad de trabajo.
De http://cognifty.com/blog.entry/id=6/ añadelashes_dont_call_it_a_comeback.html :
AS = addslashes() MRES = mysql_real_escape_string() ACS = addcslashes() //called with "\\\000\n\r'\"\032%_" Feature AS MRES ACS escapes quote, double quote, and backslash yes yes yes escapes LIKE modifiers: underscore, percent no no yes escapes with single quotes instead of backslash no yes*1 no character-set aware no yes*2 no prevents multi-byte attacks no yes*3 no