2

我的 PHP 应用程序正在接受用户输入并将其发送到 WCF Web 服务。有时我的用户从 Word 复制和粘贴,然后将 UTF-16 字符放入他们的消息中,例如“En Dash”\u2013

发生这种情况时,我收到以下错误。

PHP 致命错误:SOAP-ERROR: Encoding: string '\xe2...' is not a valid utf-8 string in *** on line 31

我尝试将 SoapClient 构造函数的编码选项设置为“UTF-16”。我的请求似乎有效,但我注意到 xml 标头上的编码仍设置为 UTF-8。

有任何想法吗?

4

1 回答 1

1

WCF 仅适用于 UTF-8,word 默认适用于 UTF-16,这解释了为什么它看起来像 UTF8

尝试使用 mbstring 来纠正问题

于 2009-05-12T15:51:15.640 回答