I have this strange thing happening in my MySQL database whenever a visitor registers his/her company and in any of the fields uses the "#" character like e.g. in an address Bla Bla Street #456.

What happens is that when I back up the database with a dump file (using PHPMyAdmin) and the next time I use that backup file it will tell me that there was an error and only the rows up to that error are inserted. By trial & error I found out that the two suppliers I got this error with was because they used this character: by removing it from the back-up file I no longer had any problems re-creating the table.

Is there any way I can avoid this problem? Something like htmlspecialchars?

Another thing that happened once was that someone who registered used apostrophes in the text which normally isn't a problem, but this time in the database it got changed to something weird like "%&#". That's not exactly what it was but I can't remember now. And also that time the dump file didn't work because of the "#" character. Does this have to do with the character set their using?