Переводчик с француского

Тема в разделе "PHP", создана пользователем karapet, 31 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. karapet

    karapet

    Регистр.:
    9 сен 2008
    Сообщения:
    168
    Симпатии:
    104
    Подскажите, пожалуйста, как "победить такую траблу.. Есть текст, спарсенный с фрнанцузкого сайта. Нужно его перевести средствами google.translate на русский язык... Есть готовый скрипт, который парсит и переводит через ajax.googleapis.com статью. Но, проблема в том (как я понимаю), что текст после парсинга отсылается некорректный... И все из-за подобных символов: "ê", "à", "é" и т.д... (Тем кто не видит данные буквы как они есть: буквы типа "а" или "u", но только с черточкой сверху). В итоге, текст на выходе получается типа того: "Строительство всегда existй". Тоесть эти символы заменяются на на букву "Й" почемуто:( Предпологаю что проблема существует именно на стадии отправки текста непосредственно переводчику. Подскажите плиз, как это можно "победить"?
    З.Ы: Текст на английском переводится без проблем...
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Что-то тут с кодировкой. Надо посмотреть тот кусок кода в котором отправляется запрос. Так же надо попробовать принудительно менять кодировку текста с помощью, например, mb_convert_encoding.
     
  3. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    В utf-8 нужно данные отправлять.
     
  4. karapet

    karapet

    Регистр.:
    9 сен 2008
    Сообщения:
    168
    Симпатии:
    104
    Вроде перепробовал все что можно, но так и не смог победить эти "кракозяблы" :( Вот пример кода который переводит текст. C русским или английским языком проблем нету... А вот французкий так и не пойму как перевести...
    Посмотреть вложение translate.txt
     
  5. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    скрипт работает если убрать все iconv, файл в utf-8 кодировке а значит и текст в переменной в utf-8 кодировке, так что не надо конвертирования.

    PHP:
    //fr->ru
    $text "De manière concomitante au présent projet de loi de finances rectificative.";
    print_r(json_decode(file_get_contents('http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='.urlencode($text).'&langpair=fr|ru')));
    //ru->fr
    $text "Параллельно с этим проект дополнительного бюджета, были созданы в случае компании.";

    print_r(json_decode(file_get_contents('http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='.urlencode($text).'&langpair=ru|fr')));

    http://code.google.com/apis/ajaxlanguage/documentation/reference.html


    если тексты на французском берутся из какого-то источника то надо смотреть кодировку источника, может там европейская, а в скрипте кириллица указана. Ещё может быть там html коды типа è то è, é это é и т.д. тогда текст надо перекодировать с html_entity_decode(текст, ENT_QUOTES, кодировка) в нормальный текст.
     
    karapet нравится это.
  6. karapet

    karapet

    Регистр.:
    9 сен 2008
    Сообщения:
    168
    Симпатии:
    104
    Что называется глаз замыленный:) Все перепробовывал, а в саму функцию посмотреть отчегото не догадался... Я ее гдето готовую взял. Спасибо!:yahoo:
     
Статус темы:
Закрыта.