Thread: Getting error : invalid string conversion occured.
Hi,
I am using psqlodbc native driver with my C++ application. I am facing errors in the below scenario.
I have a PostgreSQL database (Server character set is UTF-8, Database character set is UTF-8)
My System character set/locale is ASCII. The session character set is also ASCII.
Below is the details of the table i am using
CREATE TABLE conv_vchar (
id SERIAL PRIMARY KEY,
vchar_col VARCHAR(255)
);
id SERIAL PRIMARY KEY,
vchar_col VARCHAR(255)
);
I am inserting some characters in table varchar column which is only available in UTF-8 and not in ASCII.
The characters are "कखग".
please note that none of these characters is present in ASCII.
I have tried binding the varchar column with the below two types. Both give me the same error
1. SQL_C_BINARY
1. SQL_C_BINARY
2. SQL_C_CHAR
ODBC error: SQLSTATE S1000 native database error 36. invalid string conversion occured.
Is there a correct way to bind this?
How can this be fixed?
Your help will be highly appreciated.
Regards,
Abhishek Kumar
Can someone please provide an answer to this question?
Regards,
Abhishek Kumar
On Fri, Aug 23, 2024 at 6:28 PM Abhishek Kumar <abhishek.aak0@gmail.com> wrote:
Hi,I am using psqlodbc native driver with my C++ application. I am facing errors in the below scenario.I have a PostgreSQL database (Server character set is UTF-8, Database character set is UTF-8)My System character set/locale is ASCII. The session character set is also ASCII.Below is the details of the table i am usingCREATE TABLE conv_vchar (
id SERIAL PRIMARY KEY,
vchar_col VARCHAR(255)
);I am inserting some characters in table varchar column which is only available in UTF-8 and not in ASCII.The characters are "कखग".please note that none of these characters is present in ASCII.I have tried binding the varchar column with the below two types. Both give me the same error
1. SQL_C_BINARY2. SQL_C_CHARODBC error: SQLSTATE S1000 native database error 36. invalid string conversion occured.Is there a correct way to bind this?How can this be fixed?Your help will be highly appreciated.Regards,Abhishek Kumar
I'm afraid that unless you use a client session locale that accepts the characters this simply won't work
Dave Cramer
www.postgres.rocks
On Thu, 29 Aug 2024 at 03:29, Abhishek Kumar <abhishek.aak0@gmail.com> wrote:
Can someone please provide an answer to this question?Regards,Abhishek KumarOn Fri, Aug 23, 2024 at 6:28 PM Abhishek Kumar <abhishek.aak0@gmail.com> wrote:Hi,I am using psqlodbc native driver with my C++ application. I am facing errors in the below scenario.I have a PostgreSQL database (Server character set is UTF-8, Database character set is UTF-8)My System character set/locale is ASCII. The session character set is also ASCII.Below is the details of the table i am usingCREATE TABLE conv_vchar (
id SERIAL PRIMARY KEY,
vchar_col VARCHAR(255)
);I am inserting some characters in table varchar column which is only available in UTF-8 and not in ASCII.The characters are "कखग".please note that none of these characters is present in ASCII.I have tried binding the varchar column with the below two types. Both give me the same error
1. SQL_C_BINARY2. SQL_C_CHARODBC error: SQLSTATE S1000 native database error 36. invalid string conversion occured.Is there a correct way to bind this?How can this be fixed?Your help will be highly appreciated.Regards,Abhishek Kumar