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 ответ

Я решил мою проблему как предложено. Я привязываю параметры и теперь все работает нормально

Другие вопросы по тегам