У меня есть простой пример, который вызывает ошибку при использовании Firebird SQL.
У меня есть таблица со столбцом Details, который определяется как:
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,