Ошибка [1.2.133] SE::Google::Translate выводит результат в битой кодировке

  • Автор темы Автор темы Support
  • Дата начала Дата начала

Support

Administrator
Команда форума
A-Parser Enterprise
Способ воспроизведения:
направление перевода Auto-detect - French
Result format: $translated\n
Остальное все по дефолту
photo recovery
video recovery
recovery video
recovery photos
recover my photos
how to recover deleted photos
recover deleted photos
password recovery
diskdigger photo recovery
icare data recovery
power data recovery
android photo recovery
stellar phoenix photo recovery
iphone photo recovery
samsung photo recovery
asoftech photo recovery
wondershare photo recovery
best photo recovery software
photo recovery for android
jihosoft photo recovery
samsung galaxy photo recovery
photo recovery android
photo recovery software for android
t2j photo recovery
video recovery for android
recover deleted video android
recover deleted video
recover video files
word document recovery
word recovery
word password recovery
how to recover unsaved word document
recover unsaved word document
how to recover a word document
recover word document
how to recover word document
how to recover an unsaved word document
Результат:
j3gir_171102131939.png
 
Проблема так же существует в SE::Yandex::Translate
 
Я так понимаю, что данная проблема в версии 1.2.0 не решена?
 
Нет.
Когда в парсер вносится правка по задаче, то в заголовке добавляется номер версии, в которой эта правка сделана, а сама тема переносится в Next release
 
Исправление конфликтует с нормальным поведением и было отменено: https://a-parser.com/threads/4006/

Ситуация следующая:
  • A-Parser поддерживает работу как с бинарными данными(скачивание картинок, файлов и т.п.), так и работу с текстом в любых кодировках, приводя их к UTF-8
  • Данный алгоритм основан на анализе результирующей строки и выбора соответствующего метода сохранения(бинарные данные vs UTF-8)
  • Перевод с французского помещается в однобайтовой кодировки ISO-8859 и выглядит как бинарные данные, и сохраняется как есть, если файл открыть как UTF-8 то получим результат со скриншота в первом посте, а если в кодировке ISO-8859 то в нормальном виде:
2f0qh.png


Варианты решения проблемы в текущей версии:
  • Открывать файл в ISO-8859
  • Добавлять к результату UTF-8 текст, например: Result format: "перевод: $translated\n"
Варианты исправления проблемы:
  • Добавить опцию "Сохранять как UTF-8" - не совсем удобно, придется сначала получить битый результат и пересобирать данные с галкой
  • Добавить опцию "Сохранять как Binary" - по умолчанию всегда сохранять в UTF-8, для пресетов сохраняющих картинки и другие бинарные данные необходимо выставлять галку
  • Помечать результаты от парсеров переводчиков принудительно как UTF-8 - решит проблему в посте, но возможно повторение проблемы в других парсерах
  • Компромиссный вариант: добавить опциональные галки "Сохранять как UTF-8/Binary", по умолчанию поведение автоматическое. Изменить автоматическое поведение - проверять может ли результат быть представлен как utf-8, при необходимости перекодировать
 
Назад
Верх