gSOAP C ++ - UTF8数据编码

时间:2015-09-25 09:56:34

标签: character-encoding gsoap

我遇到了gSOAP C ++的问题。 我想从postgres数据库中读取一些记录。为此,我将client_encoding设置为UTF-8。

在gSOAP的sent.log中,我有这些字符:

überstr。或öde(首先应该是“ü”而第二个应该是“ö”)。

如果我在数据库选择期间将client_encoding设置为“LATIN1”,则请求是正确的。

如何正确发送UTF-8数据?

1 个答案:

答案 0 :(得分:0)

使用SOAP_C_UTFSTRING标志初始化上下文并构造代理对象。使用此标志,您可以将UTF-8存储在基于八位字节的常规字符串中(即char*std::string)。

或者在类中使用宽字符串成员(例如,使用将XSD字符串映射到宽字符串的typemap.dat运行wsdl2h)。