Перейти к контенту
  • 0

Смена кодировки загружаемых файлов.


Stavropolec

Вопрос

При скачивании "прикрепленных" .torrent файлов IPB 3 меняет кодировку на UTF-8 что приводит к их поломке. Обратная конвертация текстовым редактором (Notepad++) в ANSI восстанавливает работоспособность. При прямой загрузке с FTP проблем не наблюдается. То есть конвертация происходит именно в момент скачивания пользователем с форума.
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Попробуйте добавить в .htaccess что-то из(на выбор):

AddType 'text/plain; charset=windows-1251' torrent

AddCharset windows-1251 .torrent

<FilesMatch "\.torrent$">
ForceType 'text/plain; charset=windows-1251'
</FilesMatch>

<FilesMatch "\.torrent$">
AddDefaultCharset windows-1251
</FilesMatch>

Ссылка на комментарий
Поделиться на других сайтах

  • 0

ANSI — стандарт кодирования символов (если коротко в данном случае). У него есть понятие кодировки. У вас она, скорее всего, windows-1251, хотя тут сложно сказать. Но в России скорее всего так.

 

P.S. Соответственно есть стандарт юникода и его кодировки, UTF-8, UTF-16, UTF-32 и каждая ещё и с вариациями :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это не текстовой файл. У torrent вроде нет локализации, скорей всего кодировка какая то западноевропейская.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это не текстовой файл. У torrent вроде нет локализации, скорей всего кодировка какая то западноевропейская.

А у "не текстовых" файлов нет кодировки...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А у "не текстовых" файлов нет кодировки...
Видимо тут вопрос терминологии. )

 

Файл метаданных .torrent является словарём в bencode формате.

Файлы метаданных с расширением .torrent содержат следующую информацию: URL трекера, общую информацию о закачиваемом файле (имя, длину и пр.), контрольные суммы (точнее, хеш-суммы SHA1) сегментов закачиваемого файла, passkey пользователя (длина ключа устанавливается трекером)

Bencode — это формат используемый p2p системой распространения файлов BitTorrent для хранения и передачи свободно структурированных данных. Bencode использует ASCII символы как разделители и цифры.

Какую ставить кодировку?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Хм, этак можно было бы назвать "не текстовым" и *.ini файлы, и сохранённый в файл JSON :D Это не полностью бинарный формат.

 

Думаю нужно поменять кодировку в которой отдаются файлы на ту, с которой их отдаёт треккер(логично?). А заодно сказать, какую ошибку выдаёт торрент-клиент при открытии неверного файла.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А что вы вписали в поле Mime-тип таблицы "Типы прикрепляемых файлов" в админке? Впишите application/x-bittorrent и будет отдавать вообще в бинарном виде, без какого-либо перекодирования.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Так я же с Вами не спорю - Вы специалист, Вы имеете правильные определения и знания. Я же как обыватель неправильно истолковал значение "текстовой файл" и не только.. )

Дело в том что "трекеры" ни каких операций над "нашими" файлами не производят, IPB хранит данные файлы "прикрепленными" в соответствующих сообщениях. Генерацию файлов .torrent производит сам пользователь с помощью клиентов типа μTorrent, после этого файл можно передать для использования любым способом (e-mail, ftp и т.д.) в том числе путем размещения на форуме. После перехода на IPB 3 (на версии 2.x всё было в порядке) файлы при скачивании имеют вышеуказанную проблему. Популярный BitTorrent-клиент для Windows μTorrent выдают следующую ошибку:

http://s3.sendpic.ru/i/1024/i/yt.jpeg

так же как и опробованных мною, полдесятка других клиентов для данной ОС. В Mac OS X программа Transmission проблем не замечает и работает с файлами штатно, μTorrent for Mac снова "ругается".

Но как мне кажется благодаря Notepad++ причину проблемы я нашёл. Ищется её решение, для предложенного Вами варианта надо понять какую кодировку ставить.

 

Так выглядит .torrent в исходном виде в редакторе:

http://s3.sendpic.ru/i/1024/i/BX.jpeg

Так выглядит .torrent после скачивания операции закачивания-скачивания IPB 3.0.4:

http://s3.sendpic.ru/i/1024/i/99.jpeg

 

А что вы вписали в поле Mime-тип таблицы "Типы прикрепляемых файлов" в админке? Впишите application/x-bittorrent и будет отдавать вообще в бинарном виде, без какого-либо перекодирования.

Так и указывал изначально ещё с IPB 2.x, пробовал даже другие значения - бесполезно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если у вас NP++ на Windpows, то можно попробовать отдавать в cp1251(windows-1251). Другое дело что это не дело... А так происходит когда вы скачиваете торрент-файл любым браузером?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.