Вы не зашли.
Как правильно определить неизвестную кодировку и перекодировать её в utf-8?
При перекодировании windows-1251 в utf-8 все символы изменялись на какой-то непонятный код. Например двоеточие в \u003d\u0026gt; .
Помогите.
это одна из разновидностей юникода. чем пользуешься для конвертирования?
Вот как на google translate. В какой бы кодировке не скопировал туда - все нормально переводит. А у меня нет. И еще не знаешь, как сделать, чтобы на выходе получился форматированный текст? Перевод при помощи Google Translate Api.
Код:
span style="color: #0000BB"><?phpfunction json2array($json){ if(get_magic_quotes_gpc()){ $json = stripslashes($json); } $json = substr($json, 1, -1); $json = str_replace(array(":", "{", "[", "}", "]"), array("=>", "array(", "array(", ")", ")"), $json); @eval("\$json_array = array({$json});"); return $json_array;}/* $s_text - текст для перевода $s_lang - с какого языка переводим (например ru) $d_lang - на какой язык переводим (например en)*/function translate($s_text, $s_lang, $d_lang) { $url='http://ajax.googleapis.com/ajax/services/language/translate?v=1.0'; $post='q='.urlencode($s_text).'&langpair='.$s_lang.'%7C'.$d_lang.'&key=notsupplied'; $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_REFERER, "http://site.ru/"); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_POSTFIELDS, $post); $b = curl_exec($c); curl_close($c); $json = json2array($b, true); if ($json['responseStatus'] != 200)return false; return $json['responseData']['translatedText']; }?> |
Форматированный текст, типа если ввел
и перевел на английский, получилось:
Добавлено спустя 39 секунд: PS: извиняюсь за функцию json2array - просто нету json'a нормального)
текст вставь внутрь <pre></pre>
в каком месте получается этот юникод? гугл возвращает?
Я копирую текст с одного сайта, там кодировка windows-1251. Перевожу сразу оригинал - получаются кракозябры. Если изменяю кодировку при помощи iconv - появляется этот юникод.
По поводу кто возвращает сейчас скажу.
Добавлено спустя 4 минуты 30 секунд: Этот юникод возвращает функция гугла. Еще оно <pre></pre> игнорирует.
Если без перевода, то все отлично получается, а так... странно
Добавлено спустя 6 минут 36 секунд: а может это из-за аналога функции json?
может быть, именно такой юникод используется в JS
Хм, а как тогда перевести гуглом, чтобы все получилось?
DarkDaNTe написал:
Я копирую текст с одного сайта, там кодировка windows-1251. Перевожу сразу оригинал - получаются кракозябры.
я не понимаю где именно проблема. iconv дает это, либо апи гугла?
Апи гугла
Добавлено спустя 4 минуты 47 секунд: Да, точно,
апи гугла.
Может не в utf-8 перекодировать?