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.