urlencoding中文字符到url

时间:2013-06-20 17:06:39

标签: php html curl encoding microsoft-translator

我正在尝试将汉字翻译成英文,但我认为在编码方面存在问题。

如何将中文字符传递给Microsoft,以便他们翻译并以英文返回我的文字?由于编码,我似乎无法发送汉字?我试过检测编码类型。

$ completeColours中的汉字

橘色,灰色,深蓝,绿色

网址编码文字     %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;

1 个答案:

答案 0 :(得分:0)

我正在研究这个问题,为了避免这种情况,我决定强迫我的中国用户用西班牙语写英文地址。

像这样:

MyPrettyCMS Front office capture, see address in address bar

这里是带有“on the fly”友好网址构建器的菜单编辑器:

MyPrettyCMS Friendly URL Menu Builder

我使用Firefox,Chrome和IE浏览了Badu。 正如你所看到的,Firefox能够在地址栏中显示中文符号,但不能在Chrome和IE中显示,所以,我问自己,搜索引擎优化的最佳选择是什么?

  • 使用西方字符显示英文地址?
  • 像你一样使用代码吗?
  • 使用西方字符,但在中文输入系统中写出拼音中文符号?

现在我选择了第一个选项,但我不确定它是最好的选择。

这里有3个捕获:

Baidu under IE

Baidu under Chrome

Baidu under Firefox