Re: PQexecParams and wchar_t
От | slakr |
---|---|
Тема | Re: PQexecParams and wchar_t |
Дата | |
Msg-id | 12267175.post@talk.nabble.com обсуждение исходный текст |
Ответ на | PQexecParams and wchar_t (Rob <motorhead9876@yahoo.com>) |
Список | 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.
В списке pgsql-interfaces по дате отправления: