You can use REPLACE
to remove special characters from the data in the database during your query. Or when you add a phone number, in PHP, remove the special characters and save the phone number as just the numbers. Then search against the column that you removed the special characters from.
Here is documentation for REPLACE
(it's under strings, don't get confused with the REPLACE
query type): http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
As stated by most people posting on this page, cleaning the input before adding it to the database is the preferred method.