eh... encodeURIComponent sul valore stringa passato ad ajax
Il fatto è che i valori come & o # vengono fraintesi come separatori di query o hash, per assicurarsi che non vengano letti come tali devi fargli l' encodeURIComponent - per capire in cosa vengono trasformati:

alert('&#='+encodeURIComponent('&#'))

in questo modo non si presenta più il problema

ps: SET titolo = $_GET['titolo']
spero sia solo esemplificativo - mysql_escape