Специальные символы в запросе SQLite (в iPhone)

Я использую SQLite для приложения для iPhone, и я использую такой запрос:

NSString * query = [[NSString alloc] initWithFormat: @ "INSERT INTO Courses (name, credits, web, tName, tSurname, tMail , tOffice) VALUES (\ '% @ \', \ '% @ \', \ '% @ \', \ '% @ \', \ '% @ \', \ '% @ \', \ '% @ \ '); ", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];

Это простой INSERT, но я из У меня проблемы с тильдами в Испании. Если я сделаю что-то вроде:

INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('test', 'test', 'test ',' test ',' test ',' test ',' test '); ", self.name, self.credits, self.web, self.tName, self.tSu rname, self.tMail, self.tOffice];

Все работает отлично.

Проблема возникает, когда я делаю вставку с двумя или более словами со «специальными символами», такими как ¿, ¡, `, ', ñ ... И я не знаю, как это исправить: S Если запрос только содержит специальный символ, проблем нет.

Например:

Этот запрос работает (потому что там только "á"):

INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Matemáticas' , '1', '', 'Имя', 'Фамилия', (скрыто) ''); ", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self .tOffice];

Этот запрос возвращает мне ошибку "Ошибка: рядом" '' ": синтаксическая ошибка" (потому что есть "ó" и "à"):

INSERT INTO Courses (name, credits , web, tName, tSurname, tMail, tOffice) VALUES ('Gestió', '1', '', 'à', 'Surname', (hidden) ''); ", self.name, self.credits, self .web, self.tName, self.tSurname, self.tMail, self.tOffice];

Я попытался поставить слова между «и между», и получил то же самое.

Есть идеи?

6
задан Pavel Strakhov 24 November 2012 в 13:17
поделиться