Re: PQexecParams and wchar_t

From: slakr <ac(at)esilo(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: PQexecParams and wchar_t
Date: 2007-08-22 02:46:51
Message-ID: 12267175.post@talk.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces


I have never heard of using a wchar_t for UTF8. If you have a wchar_t
string, its probably utf-16 or ucs4 encoding. You need to convert it to
utf8: iconv on most unixes or WideCharToMultiByte on windows. That will
give you a char array that PQexecParams will understand.

slakr

UngaWunga wrote:
>
> Does anyone have an example of passing a UTF8 wchar_t character string to
> PQexecParams() working? For the life of me I can't get it to work. The
> best I've gotten is the first character of the string is added to my
> table.
>
> The database uses UTF8 encoding, but no combination of parameters to
> PQexecParams that I've found gets the whole string into my function. I'm
> guessing that since that PQexecParams takes an array of const char * that
> the interface has no way to guess that the parameters are actually wide
> characters. And since (for english encoding) the data is stored in the
> first byte of the two byte character, the interface only grabs the first
> byte of the wide string, thinking the second byte is a null terminator.
>
> Specifying the length of the wchar parameter makes no difference. Is there
> any way to tell the interface that the parameter is a wide character
> string?
>
> Any help greatly appreciated.
>
> Rob
>
>
>
> ---------------------------------
> Pinpoint customers who are looking for what you sell.
>

--
View this message in context: http://www.nabble.com/PQexecParams-and-wchar_t-tf4307500.html#a12267175
Sent from the PostgreSQL - interfaces mailing list archive at Nabble.com.

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Roger Moloney 2007-08-23 14:55:10 ecpg: HOW TO READ RECORD ??
Previous Message Jeroen T. Vermeulen 2007-08-21 20:33:55 Re: PQexecParams and wchar_t