php: problema de codificação file_get_contents
Minha tarefa é simples: faça uma solicitação de postagem para translate.google.com e obtenha a tradução. No exemplo a seguir, estou usando a palavra "olá" para traduzir para o russo.
header('Content-Type: text/plain; charset=utf-8'); // optional
error_reporting(E_ALL | E_STRICT);
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => implode("\r\n", array(
'Content-type: application/x-www-form-urlencoded',
'Accept-Language: en-us,en;q=0.5', // optional
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' // optional
)),
'content' => http_build_query(array(
'prev' => '_t',
'hl' => 'en',
'ie' => 'UTF-8',
'text' => 'hello',
'sl' => 'en',
'tl' => 'ru'
))
)
));
$page = file_get_contents('http://translate.google.com/translate_t', false, $context);
require '../simplehtmldom/simple_html_dom.php';
$dom = str_get_html($page);
$translation = $dom->find('#result_box', 0)->plaintext;
echo $translation;
inhas @ marcadas como opcionais são aquelas sem as quais a saída é a mesma. Mas estou tendo personagens estranhos ...
������
Eu tente
echo mb_convert_encoding($translation, 'UTF-8');
Mas eu recebo
ÐÒÉ×ÅÔ
Alguém sabe como resolver este problema
ATUALIZAR
Forgot para mencionar que todos os meus arquivos php são codificados em UTF-8 sem BOMQuando altero o idioma "para" para "en", que é traduzido do inglês para o inglês, ele funciona be Não acho que a biblioteca que estou usando esteja estragando tudo, porque tentei produzir a página $ inteira sem passá-la para as funções da bibliotec Estou usando PHP 5