WestCoast_BC
asked on
SQL database - querying with foreign characters and saving blob data
I have a C++ application that connects to a Firebird SQL database. The database is using UTF8 as its character set.
The database contains tables that have strings that are of type varchar and contains blob data that is of type 'blob sub_type 1'
Originally the connection to the database did not specify the character set but this was causing a Malormed String SQL error when I tried to do a query that contained a foreign character like É. I added CHARSET=UTF8 to the connection string which solved my initial problem when querying with a foreign character but now I get an SQL error when I try to save blob data.
Does anyone have any suggestions of what I should do. Any help is appreciated.
The database contains tables that have strings that are of type varchar and contains blob data that is of type 'blob sub_type 1'
Originally the connection to the database did not specify the character set but this was causing a Malormed String SQL error when I tried to do a query that contained a foreign character like É. I added CHARSET=UTF8 to the connection string which solved my initial problem when querying with a foreign character but now I get an SQL error when I try to save blob data.
Does anyone have any suggestions of what I should do. Any help is appreciated.
ASKER
I have a simpler example that is causing the same error. I have a table with a column called Details which is defined as:
DETAILS varchar(261) COLLATE UNICODE
If I try to do the following query:SELECT a.DETAILS
FROM MODHISTORY a
WHERE
a.DETAILS LIKE '%Â%'
I get the error: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
ASKER
I am hoping someone might have a suggestion for me regarding how to solve this.
>> Also, how's the "blob" defined at the database column level? I mean is it binary BLOB or some BLOB SUB_TYPE TEXT?
Maybe your answer to this question will help.
Maybe your answer to this question will help.
ASKER
The blob is defined as:
DATA blob sub_type 1 CHARACTER SET ASCII,
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Also, how's the "blob" defined at the database column level? I mean is it binary BLOB or some BLOB SUB_TYPE TEXT?