php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码

PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急

http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=中文"

回复讨论(解决方案)

将关键字用urlencode 编码下。

你可以直接有我提供的url地址去试试,q后面带好中文参数

我已经编码试过了

建议还是贴出代码吧,这样别人可以直接测试。

http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q= 你直接在q后面添加一个参数,分别用中文和英文试一下,看看返回值就行。还有在谷歌浏览器上中英文都可以,在火狐浏览器上,中文不可以,这是为什么????

public function getTransContent($url) { // $url = "http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=" .urlencode($this->keyword); // echo $url; // $url = urlencode($url); $value = file_get_contents($url);//echo $value; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); $html = curl_exec($ch); $jsonValue = json_decode ( $value, true ); //翻译成功 $errorCode = $jsonValue["erroeCode"]; $trans = ''; if (isset($errorCode)) { switch ($errorCode) { case 0: $trans = $jsonValue["translation"]['0']; break; case 20: $trans = '要翻译的文本过长'; break; case 30: $trans = '无法进行有效的翻译'; break; case 40: $trans = '不支持的语言类型'; break; case 50: $trans = '无效的key'; break; default: $trans = '出现异常'; break; } } return $trans; }}

function getTransContent($url) { // $url = "http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=" .urlencode($this->keyword); // echo $url; // $url = urlencode($url); $value = file_get_contents($url);//echo $value; // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // $html = curl_exec($ch); $ar = simplexml_load_string($value,'SimpleXMLElement',LIBXML_NOCDATA | LIBXML_NOBLANKS); //$jsonValue = json_decode ( $value, true );$errorCode = $ar->errorCode;echo $errorCode.PHP_EOL; //翻译成功 // $errorCode = $jsonValue["erroeCode"]; $trans = ''; if (isset($errorCode)) { switch ($errorCode) { case 0: $trans = $ar->translation->paragraph; break; case 20: $trans = '要翻译的文本过长'; break; case 30: $trans = '无法进行有效的翻译'; break; case 40: $trans = '不支持的语言类型'; break; case 50: $trans = '无效的key'; break; default: $trans = '出现异常'; break; } } return $trans; }$s=urlencode('中文');echo getTransContent("http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=xml&version=1.1&q=$s");

$c = iconv('gbk', 'utf-8', '中文'); //gbk 一定要转成 utf-8$c = urlencode($c); //必须做 url 编码$url = "http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd33&key=1310976914&type=data&doctype=json&version=1.1&q=$c";//返回类型 设为 json,这样处理起来方便些$s = file_get_contents($url);print_r(json_decode($s, 1)); Array( [translation] => Array ( [0] => Chinese ) [basic] => Array ( [phonetic] => zhōng wén [explains] => Array ( [0] => [语] Chinese ) ) [query] => 中文 [errorCode] => 0 [web] => Array ( [0] => Array ( [value] => Array ( [0] => Chinese [1] => facebook [2] => English ) [key] => 中文 ) [1] => Array ( [value] => Array ( [0] => Chinese school [1] => Schools-Chinese [2] => Chinese Language School ) [key] => 中文学校 ) [2] => Array ( [value] => Array ( [0] => fbook [1] => facebook [2] => face ) [key] => 中文登入 ) ))

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值