Gab*_*eri 6 encoding soap web-services zend-framework
嗨,我有一个使用Zend Framework构建的Web服务.其中一种方法旨在发送有关订单的详细信息.我遇到了一些编码问题.返回的值之一包含以下内容:
Jaime Torres Bodet#322-A Col. Lomas deSantaMaría
Web服务返回以下错误:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>SOAP-ERROR: Encoding: string 'Jaime Torres Bodet #322-A Col. Lomas de Santa Mar\xc3...' is not a valid utf-8 string</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)
我应该怎么解决这个问题?
谢谢
Vac*_*ara 17
如何更改编码设置:
服务器:
$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1')); // for 'windows-1252' too
Run Code Online (Sandbox Code Playgroud)
客户:
$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1')); // for 'windows-1252' too
Run Code Online (Sandbox Code Playgroud)
...然后转换自动完成到UTF-8,我有类似的问题,所以这对我有帮助,所以它经过测试
Mar*_*rek 10
今天我遇到了同样的问题 - 导致该问题的代码是:
$request->Text = substr($text, 0, 40);
Run Code Online (Sandbox Code Playgroud)
将substr更改为mb_substr似乎解决了这个问题:
$request->Test = mb_substr($text, 0, 40, 'utf8');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31724 次 |
最近记录: |