0

我正在为需要将发布的数据编码为 UTF-16 的 Web 服务构建 php 客户端。如何配置 curl 以 UTF-16 编码我的数据并以 UTF-16 解码答案?

一些示例代码:

$s = curl_init($url);

curl_setopt($s,CURLOPT_POST,1); 
curl_setopt($s,CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($s,CURLOPT_POSTFIELDS,$data);
curl_setopt($s,CURLOPT_TIMEOUT, 5);
curl_setopt($s,CURLOPT_HTTPHEADER,array('Content-Type: text/plain'));

$result = curl_exec($s);
curl_close($s);

添加 Accept-Encoding 标头似乎不起作用。是否可以先在 UTF-16 中编码我的 $data 字符串,然后将字节数组传递给 curl 而不是字符串?

谢谢您的回答!

4

1 回答 1

2

首先,您需要找出您的数据编码是什么。然后,这是你的选择。iconv()和mb_convert_encoding ()都工作得很好。

另外,您应该告知 HTTP 标头中的编码:

curl_setopt($s,CURLOPT_HTTPHEADER,array('Content-Type: text/plain; charset=UTF-16'));
于 2012-04-20T10:30:46.260 回答