Zend_Soap客户端和SoapServer UTF-8编码问题

时间:2011-03-01 13:51:48

标签: utf-8 zend-soap

该站点在一台服务器上运行,另一台服务器上运行DB。当我输入网站文本以提交到非英文字母的数据库时,它会保存并进行渲染核心。例如,如果我输入“ПриветВсем”,我会在显示时在网站上看到相同的文字。

作为字段的表的所有MySQL排序规则都是utf8_general_ci 页面上的元内容编码也像在phpMyAdmin上一样在网站上使用utf-8

虽然如果我使用phpMyAdmin访问数据库,我会看到КонÑÑ,наÑ,инПаР如果我把它更改为ПриветВсем然后在网站上我看到???????? ????

在我们对2台不同服务器上进行本地测试时,它的工作方式并不像这样。但是在部署到centOS在线服务器后,它就像这样工作。

看起来它将文本双重编码为​​UTF-8。我找不到它在哪里。

Zend_Soap_Client ::或SoapServer ::或MySQL编码。

我拒绝了Mysql的想法,因为我认为如果它是MySQl那么它会保存错误,然后当它超出时它会发送错误的数据。

1 个答案:

答案 0 :(得分:0)

也许你应该尝试配置Zend_Soap_Client或SoapServer来使用 utf8 ? 在Zend_Soap_Client的情况下,可以这样做:

$client = new Zend_Soap_Client("http://my.site/my.wsdl", array('encoding' => 'UTF-8'));