我的PHP应用程序正在接收用户输入并将其发送到WCF Web服务。 有时我的用户会从Word复制并粘贴,并将UTF-16字符放入其消息中,例如“En Dash”\ u2013
发生这种情况时会出现以下错误。
PHP致命错误:SOAP-ERROR:编码: 字符串'\ xe2 ...'无效 第31行***中的utf-8字符串
我已经尝试将SoapClient构造函数的编码选项设置为'UTF-16'。 我的请求似乎有效,但我注意到xml标头上的编码仍然设置为UTF-8。
有什么想法吗?
答案 0 :(得分:1)
WCF仅在UTF-8中工作,默认情况下,单词在UTF-16中工作,这解释了为什么它的外观像UTF8
尝试使用mbstring来纠正问题