mysql_real_escape_string() de documentos mysql.com:
mysql_real_escape_string() está ciente do conjunto de caracteres, portanto, replicar todas as suas habilidades (especialmente contra problemas de ataque multi-byte) não é uma pequena quantidade de trabalho.
De http://cognifty.com/blog.entry/id=6/ addlashes_dont_call_it_a_comeback.html :
AS =addlashes() MRES =mysql_real_escape_string()ACS =addcslashes() //chamado com "\\\000\n\r'\"\032%_"Recurso AS MRES ACS escapa aspas, aspas duplas e barra invertida sim sim sim escapa modificadores LIKE:sublinhado, porcentagem não não sim escapa com aspas simples em vez de barra invertida não sim*1 sem reconhecimento de conjunto de caracteres não sim*2 não evita ataques de vários bytes não sim*3 não