В двух словах — фильтруйте данные, которые получаете от пользователя, перед тем, как вставить их в SQL-запрос. Конкретный механизм — на ваше усмотрение, можете использовать функции php, можете какую-либо обертку для БД, можете ORM.
По поводу проблемы с кодировкой — она говорит сама за себя...