【问题标题】:Zend_Soap client and SoapServer UTF-8 encoding problemZend_Soap 客户端和 SoapServer UTF-8 编码问题
【发布时间】:2011-03-01 13:51:48
【问题描述】:

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

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

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

我们在 2 台装有 Windows 的不同服务器上进行本地测试时,它并没有像这样工作。但是部署到 centOS 在线服务器后,它就变成了这样。

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

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

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

【问题讨论】:

    标签: utf-8 zend-soap


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-17
      • 2021-04-27
      • 1970-01-01
      • 2010-10-09
      • 2010-12-01
      • 1970-01-01
      相关资源
      最近更新 更多