Szukałbym niezgodności między kodowaniem znaków używanym w twoim interfejsie WWW a kodowaniem używanym na poziomie bazy danych. Jeśli twój interfejs WWW używa na przykład UTF-8, a twoja baza danych używa domyślnego kodowania MySQL latin1 , musisz ustawić swoje tabele za pomocą DEFAULT CHARSET=utf8 .
Użyj mysql_real_escape_string() lub mysqli, tak przy okazji. addslashes() jest NIE odpowiednia ochrona przed wstrzyknięciem SQL.