Avatar of WestCoast_BC
WestCoast_BCFlag for Canada 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.
DatabasesSQL

Avatar of undefined
Last Comment
WestCoast_BC

8/22/2022 - Mon
lcohan

What is the actual error you are getting - could you please post it here explicitly (well scramble any sensitive info if exists)?
Also, how's the "blob" defined at the database column level? I mean is it binary BLOB or some BLOB SUB_TYPE TEXT?
ASKER
WestCoast_BC

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

Open in new window

If I try to do the following query:
SELECT a.DETAILS
FROM MODHISTORY a 
WHERE
    a.DETAILS LIKE '%Â%'

Open in new window

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

Open in new window

ASKER
WestCoast_BC

I am hoping someone might have a suggestion for me regarding how to solve this.
Your help has saved me hundreds of hours of internet surfing.
fblack61
phoffric

>> 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.
ASKER
WestCoast_BC

The blob is defined as:
DATA blob sub_type 1 CHARACTER SET ASCII,

Open in new window

ASKER CERTIFIED SOLUTION
WestCoast_BC

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question