我使用gsoap 2.8.31并开发了一个独立的服务器。
需要产生latin-1
编码的输出。现在默认的响应是UTF-8编码。
在我的代码中包括以下方法将模式设置为latin-1
,
soap_set_omode(soap,SOAP_ENC_LATIN);
soap_omode(soap,SOAP_ENC_LATIN);
但即使包括这些,也看不到latin-1
编码反应的任何变化。
如果我错过了将编码样式和字符集设置为latin-1
的方法,请告诉我。
输入模式标志SOAP_ENC_LATIN
由XML解析器在检测ISO-8859-1编码的XML时自动设置。没有强制ISO-8859-1输出的机制,但是您可以这样替换XML声明:
soap->prolog = "<?xml version="1.0" encoding="latin1"?>n";
确保避免在要发送的XML有效负载中使用任何Unicode字符,这些字符最终将以UTF-8编码。