#1 2010.08.14 18:14

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Перекодировка в UTF-8

Как правильно определить неизвестную кодировку и перекодировать её в utf-8?
При перекодировании windows-1251 в utf-8 все символы изменялись на какой-то непонятный код. Например двоеточие в \u003d\u0026gt; .
Помогите.

Неактивен

#2 2010.08.14 18:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Перекодировка в UTF-8

это одна из разновидностей юникода. чем пользуешься для конвертирования?

Неактивен

#3 2010.08.14 20:21

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Перекодировка в UTF-8

iconv

Неактивен

#4 2010.08.14 21:23

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Перекодировка в UTF-8

Вот как на google translate. В какой бы кодировке не скопировал туда - все нормально переводит. А у меня нет. И еще не знаешь, как сделать, чтобы на выходе получился форматированный текст? Перевод при помощи Google Translate Api.

Код:

1
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']; }?>

Форматированный текст, типа если ввел

Код:

1
2
3
Текст
 
Текст

и перевел на английский, получилось:

Код:

1
2
3
Text
 
Text

Добавлено спустя    39 секунд:
PS: извиняюсь за функцию json2array - просто нету json'a нормального)

Неактивен

#5 2010.08.15 11:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Перекодировка в UTF-8

текст вставь внутрь <pre></pre>
в каком месте получается этот юникод? гугл возвращает?

Неактивен

#6 2010.08.15 12:00

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Перекодировка в UTF-8

Я копирую текст с одного сайта, там кодировка windows-1251. Перевожу сразу оригинал - получаются кракозябры. Если изменяю кодировку при помощи iconv - появляется этот юникод.
По поводу кто возвращает сейчас скажу.
Добавлено спустя   4 минуты  30 секунд:
Этот юникод возвращает функция гугла. Еще оно <pre></pre> игнорирует.
Если без перевода, то все отлично получается, а так... странно
Добавлено спустя   6 минут  36 секунд:
а может это из-за аналога функции json?

Неактивен

#7 2010.08.15 12:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Перекодировка в UTF-8

может быть, именно такой юникод используется в JS

Неактивен

#8 2010.08.15 12:24

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Перекодировка в UTF-8

Хм, а как тогда перевести гуглом, чтобы все получилось?

Неактивен

#9 2010.08.15 12:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Перекодировка в UTF-8

DarkDaNTe написал:

Я копирую текст с одного сайта, там кодировка windows-1251. Перевожу сразу оригинал - получаются кракозябры.

я не понимаю где именно проблема. iconv дает это, либо апи гугла?

Неактивен

#10 2010.08.15 13:07

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Перекодировка в UTF-8

Апи гугла
Добавлено спустя   4 минуты  47 секунд:
Да, точно, апи гугла.
Может не в utf-8 перекодировать?

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s