Обсуждение: PQexecParams and wchar_t

Поиск
Список
Период
Сортировка

PQexecParams and wchar_t

От
Rob
Дата:
Does anyone have an example of passing a UTF8 wchar_t character string to PQexecParams() working? For the life of me I
can'tget it to work. The best I've gotten is the first character of the string is added to my table.<br /><br />The
databaseuses UTF8 encoding, but no combination of parameters to PQexecParams that I've found gets the whole string into
myfunction. I'm guessing that since that PQexecParams takes an array of const char * that the interface has no way to
guessthat the parameters are actually wide characters. And since (for english encoding) the data is stored in the first
byteof the two byte character, the interface only grabs the first byte of the wide string, thinking the second byte is
anull terminator.<br /><br />Specifying the length of the wchar parameter makes no difference. Is there any way to tell
theinterface that the parameter is a wide character string?<br /><br />Any help greatly appreciated.<br /><br />Rob<br
/><br/><p><hr size="1" /><a
href="http://us.rd.yahoo.com/evt=48250/*http://searchmarketing.yahoo.com/arp/sponsoredsearch_v9.php?o=US2226&cmp=Yahoo&ctv=AprNI&s=Y&s2=EM&b=50">Pinpoint
customers</a>who are looking for what you sell.  

Re: PQexecParams and wchar_t

От
"Jeroen T. Vermeulen"
Дата:
On Wed, August 22, 2007 03:03, Rob 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.

Why would you want to use wchar_t for UTF-8?  And how?


Jeroen




Re: PQexecParams and wchar_t

От
slakr
Дата:
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.