Перейти к контенту
  • 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). Другое дело что это не дело... А так происходит когда вы скачиваете торрент-файл любым браузером?
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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