L'argomento è stato più volte dibattuto nel forum: basta fare una ricerca per le parole "caratteri speciali DB" è trovi un mare di informazioni in merito.
Ad ogni modo, ricordati che l'apice singolo è il carattere che nelle query MySQL si usa per delimitare una stringa, per cui è normale il comportamento che ottieni: per mysql quel carattere è il delimitatore della stringa di testo e quindi lì la tronca, per cui tutto il resto è una entità che non sa gestire e ti fa restituire l'errore!