SOAP-ERROR: Encoding: string … is not a valid utf-8 string

前端 未结 6 581
情书的邮戳
情书的邮戳 2021-01-02 22:10

Hi I have a web service built using the Zend Framework. One of the methods is intended to send details about an order. I ran into some encoding issue. One of the values bein

相关标签:
6条回答
  • 2021-01-02 22:42

    Today I run into same problem - the code which caused that problem was:

    $request->Text = substr($text, 0, 40);
    

    changing substr to mb_substr seems to solve the issue:

    $request->Test = mb_substr($text, 0, 40, 'utf8');
    
    0 讨论(0)
  • 2021-01-02 22:43

    I fixed a problem like this using mb_convert_encoding with array_walk_recursive to walk into my POST parameters, named $params (array).

    Maybe this is useful for you:

    array_walk_recursive($params,function (&$item){
        $item = mb_convert_encoding($item, 'UTF-8');
    });
    
    0 讨论(0)
  • 2021-01-02 22:53

    What about change the encoding settings:

    SERVER:

    $server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1')); // for 'windows-1252' too
    

    CLIENT:

    $server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1')); // for 'windows-1252' too
    

    ... then the conversion is done automatically to UTF-8, I had the similiar problem, so this helped me, so it is tested

    0 讨论(0)
  • 2021-01-02 22:53

    The answers above lead me to try:

    // encode in UTF-8
    $string = utf8_encode($string);
    

    which also resolved the error for me.

    Reference: utf8_encode()

    0 讨论(0)
  • 2021-01-02 22:58

    I found out that in my case not the encoding of strings was the problem but that the file itself was not saved as UTF-8. Even explicit saving with UTF-8 encoding did not help.

    For me it worked to insert a comment with an UTF-8 character like // Å

    0 讨论(0)
  • 2021-01-02 23:05

    The problem is that í != i. Try to convert your string to UTF-8 before using in a request. It may look like that:

    $string = iconv('windows-1252', 'UTF-8', $string);
    

    See http://php.net/iconv

    0 讨论(0)
提交回复
热议问题