SQL-запрос с использованием Firebird и чужих символов вызывает ошибку неверной строки
У меня есть простой пример, который вызывает ошибку при использовании Firebird SQL.
У меня есть таблица со столбцом под названием Подробности, который определяется как:
DETAILS varchar(261) COLLATE UNICODE
Если я попытаюсь сделать следующий запрос:
SELECT a.DETAILS
FROM MODHISTORY a
WHERE
a.DETAILS LIKE '%Â%'
Я получаю ошибку:
Error: *** IBPP::SQLException ***
Context: Statement::Prepare( SELECT a.DETAILS
FROM MODHISTORY a
WHERE
a.DETAILS LIKE '%Â%'
)
Message: isc_dsql_prepare failed
SQL Message : -104
Invalid token
Engine Code : 335544849
Engine Message :
Malformed string
Если я подключаюсь к базе данных, используя CHARSET=UTF8 в строке подключения, эта ошибка исчезает, но, к сожалению, я не могу использовать UTF8 в качестве набора символов при подключении к базе данных, потому что некоторые другие таблицы содержат, например:
SampleData blob sub_type 1 CHARACTER SET ASCII,
1 ответ
Я решил мою проблему как предложено. Я привязываю параметры и теперь все работает нормально