我有一个简单的示例,该示例使用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,
答案 0 :(得分:0)
我已经按照建议解决了我的问题。我正在绑定参数,现在一切正常