Я использую 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 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.tSurname, self.tMail, self.tOffice];
Все отлично работает.
Проблема возникает, когда я делаю вставку с двумя или более словами со «специальными символами», такими как ¿, ¡, `, ', - ... И я не знаю, как это исправить: S Если только запрос содержит специальный символ, нет проблем.
Например:
Этот запрос работает (потому что есть только "á"):
INSERT INTO Courses (name, credits, web, tName, tSurname, tMail, tOffice) VALUES ('Matemáticas', '1', '', 'Name', 'Surname', 'a@a.com', '');", 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', 'a@a.com', '');", self.name, self.credits, self.web, self.tName, self.tSurname, self.tMail, self.tOffice];
Я пытался поместить слова между "и между", и я получил то же самое.
Есть идеи?