漢字を英語に翻訳しようとしていますが、エンコードに関しては問題があると思います。
Microsoft に中国語の文字を渡して、翻訳して英語のテキストを返してもらうにはどうすればよいですか? エンコーディングが原因で漢字を送信できないようです。エンコーディングタイプを検出してみました。
$completeColours の漢字
橘色,灰色,深蓝,绿色
URL エンコードされたテキスト %26%2327224%3B%26%2333394%3B%2C%26%2328784%3B%26%2333394%3B%2C%26%2328145%3B%26%2334013%3B%2C%26%2332511%3B %26%2333394%3B
返された結果
橘色,灰色,深蓝,绿色
コード
// Prepare variables
$text = urlencode($completeColours);
echo $text;
$from = 'zh-CHT';
$to = 'en';
// Prepare cURL command
$key = 'xxx';
$ch = curl_init('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate?Text=%27'.$text.'%27&From=%27'.$from.'%27&To=%27'.$to.'%27');
curl_setopt($ch, CURLOPT_USERPWD, $key.':'.$key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Parse the XML response
$result = curl_exec($ch);
$result = explode('<d:Text m:type="Edm.String">', $result);
$result = explode('</d:Text>', $result[1]);
$result = $result[0];
echo $result;