我正在努力解决PHP应用中的编码问题:
数据来自以UTF-8和浏览器编码的Google翻译,前提是您拥有正确的标题,无论语言是什么,它都能正常显示。
以下是Google翻译功能:
function mt($text, $lang) {
$url = 'https://www.googleapis.com/language/translate/v2?key=' . $apiKey . '&q=' . rawurlencode($text) . '&source=en&target=' . $lang;
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($handle);
$responseDecoded = json_decode($response, JSON_UNESCAPED_UNICODE);
$responseCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
if($responseCode != 200) {
$resultxt = 'not200result';
}
else {
$resultxt = $responseDecoded['data']['translations'][0]['translatedText'];
}
return $resultxt;
}
我使用Simplexml加载XML文件,修改其内容并使用asXml()保存。 生成的XML文件使用UTF-8以外的其他代码进行编码,如下所示:
<value>ようこそ%0 ST数学</value>
这里是将转换归类到XML节点并保存它的代码。
$xml=simplexml_load_file('myfile.xml'); //Load source XML file
$xml->addAttribute('encoding', 'UTF-8');
$xmlFile = 'translation.xml'; //File that will be saved
//Here I have a call to the MT function above and get it to the XML file at face value.
$xml->asXML($xmlFile) //save translated XML file
我尝试过使用htmentities()并使用utf8_encode()和utf8_decode()进行播放,但无法使其正常工作。
我已尝试过所有内容,并查看了许多其他帖子。对于我的生活,我无法解决这个问题。任何帮助表示赞赏。