2016-09-16 36 views
0

我正在使用gsoap 2.8.31並開發了一個獨立的服務器。無法生成latin1編碼風格的響應 - 在gsoap C++

需要產生latin-1編碼的輸出。現在默認情況下,UTF-8編碼的響應。

包括下面的方法來設置OMODE到latin-1在我的代碼,

soap_set_omode(soap,SOAP_ENC_LATIN); 
soap_omode(soap,SOAP_ENC_LATIN); 

但即使包括這些後,看不到反映響應latin-1編碼任何更改。

如果我錯過了將編碼風格和字符集設置爲latin-1的任何方法,請讓我知道。

很多預先感謝。

回答

0

當檢測到ISO-8859-1編碼的XML時,輸入模式標誌SOAP_ENC_LATIN由XML解析器自動設置。沒有機制來強制ISO-8859-1輸出,但可以按如下方式代替XML聲明:

soap->prolog = "<?xml version=\"1.0\" encoding=\"latin1\"?>\n"; 

一定要避免使用的XML負載的任何Unicode字符來發送,這將最終編碼在UTF-8。