2013-06-20 48 views
0

我想把一箇中文字符翻譯成英文,但我認爲在編碼方面存在問題。urlencoding中文字符到url

如何將中文字符傳遞給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; 
+0

什麼是你的問題? – vikingmaster

+0

我如何將中文字符傳遞給微軟,以便他們可以翻譯它並將英文文本返回給我?由於編碼原因,我似乎無法發送中文字符。 ,編輯帖子 – CodeGuru

回答

0

我正在研究這個問題,爲了避免這個問題,我決定強迫我的中國用戶用西方的字母寫英文地址。

像這樣:

MyPrettyCMS Front office capture, see address in address bar

這裏的 「對飛」 友好網址構建器菜單編輯器:

MyPrettyCMS Friendly URL Menu Builder

我在八都去同火狐,Chrome和IE 。 正如你所看到的,Firefox能夠在地址欄中顯示中文符號,但不能顯示Chrome瀏覽器和IE瀏覽器,所以我問自己,搜索引擎優化最適合什麼?

  • 使用西方字符顯示英語地址?
  • 像你這樣使用代碼?
  • 使用西方的字符,但寫在中文輸入系統中的拼音中文符號?

現在我選擇第一個選項,但我不確定這是最好的選擇。

這裏的3個捕獲:

Baidu under IE

Baidu under Chrome

Baidu under Firefox