我遇到了gSOAP C ++的问题。 我想从postgres数据库中读取一些记录。为此,我将client_encoding设置为UTF-8。
在gSOAP的sent.log中,我有这些字符:
überstr。或öde(首先应该是“ü”而第二个应该是“ö”)。
如果我在数据库选择期间将client_encoding设置为“LATIN1”,则请求是正确的。
如何正确发送UTF-8数据?
答案 0 :(得分:0)
使用SOAP_C_UTFSTRING
标志初始化上下文并构造代理对象。使用此标志,您可以将UTF-8存储在基于八位字节的常规字符串中(即char*
和std::string
)。
或者在类中使用宽字符串成员(例如,使用将XSD字符串映射到宽字符串的typemap.dat运行wsdl2h)。