无法以 latin1 编码样式生成响应 - 在 gsoap C++



我使用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编码。

最新更新