0

投稿されたデータを UTF-16 としてエンコードする必要がある Web サービスに PHP クライアントを構築しています。データを UTF-16 でエンコードし、回答を UTF-16 でデコードするように curl を構成するにはどうすればよいですか?

サンプルコード:

$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 ヘッダーを追加してもうまくいかないようです。最初に $data 文字列を UTF-16 でエンコードしてから、文字列の代わりにバイト配列を 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 に答える