Проблема с вложениями, файлы с русскими названиями

Автор Sailorman, 22 декабря 2006, 15:29:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sailorman

Подскажите пожалуйста как можно решить проблему с аттачами на русском языке.
Тыкаешь на скрепке в FireFox сохраняется правильно, а в IE кодировка слетает на всякие символы непонятные. Форум установлен в UTF-8.

P.S. Про русские имена файлов не надо, я каждого своего пользователя не собираюсь учить.

Adept

 Присоединяюсь к Sailorman. Имею такую же проблему. Кодировка UTF-8. Названия файлов в разных браузерах выглядят по разному: в мозиле могут выглядеть нормально, а в экслпорере появляется название файла крякозяблами, не удобно просто ужасно!!. Кто может помогите разобраться плиз.

Avdenago

О. как раз хотел спросить...

Те же грабли, но немного другого плана. Аттачи на русском языке - вообще не открывает - тыкаешь в аттач - открываеться новое окно и пишет  - 404 Файл не найден...

Галку на "Кодировать имена файлов"  - ставил...

Что делать?


Avdenago

ммм.  нет я конечно понимаю, что Юнис-подобные системы практически не воспринимают русские имена... По крайней мере может быть не все... или в конфе дело... короче не знаю, то делать... Юзерей не переучишь...

ArapovUV

:) сделать фильтр на русские имена файлов или транслитератор

Avdenago

Цитата: ArapovUV от 03 октября 2007, 10:29:18
:) сделать фильтр на русские имена файлов или транслитератор

мне интересно другое - почему в одном месте работает - у другого хостера - нет...

Тем более писать фильтр - это по сути не наша забота, а разрабов. Да и думаеться мне, что данный фильтр как то присутствует... вот только что то не работает всегда как надо...

digger®

Цитата: Avdenago от 02 октября 2007, 22:30:34
Аттачи на русском языке - вообще не открывает - тыкаешь в аттач - открываеться новое окно и пишет  - 404 Файл не найден...

Посмотри по фтп как выглядят имена загруженных файлов на хостинге.

Avdenago

ммм.

Вот похоже на русском
57_Idhacaioaoey1_jpg_thumbd5d709043f736b5346d029ff1d013bfe

а вот на англ
51_IMG_3294_jpg_thumb7ff8fb619ff6e3835c88ce064233ae89

ArapovUV

возможно дело в том. что Апач настроен по умолчанию на ср1251 ?

Avdenago

Цитата: ArapovUV от 04 октября 2007, 08:50:57
возможно дело в том. что Апач настроен по умолчанию на ср1251 ?

Поподробнее?

Mavn

Если стоит настройка все в одну кодировку гнать принудительно то могут быть проблемы потому как перегон может криво работать
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.


Avdenago

Собственно вот тут:
http://ssangyongclub.ru/club/index.php?topic=34.msg231#msg231

В сообщении называеться : Презентация1.jpg
А ссылка то идет смф-ская: http://ssangyongclub.ru/club/index.php?action=dlattach;topic=34.0;attach=56;image

вот. и по ссылке ессесно ничего не открываеться :(


fomenka

Для форума в кодировке 1251 проблема была решена через редактирование sub-post.php. Русские имена убивает функция basename. И в FF, и в IE правильно загружаются и просматриваются, скачиваются аттачменты с русскими буквами в названии. В Opera не проверял.
Возможно, и вам поможет.  :D

Avdenago



fomenka

$attachmentOptions['destination'] = $modSettings['attachmentUploadDir'].'/'.getAttachmentFilename(basename...

Уберите basename и проверьте.

savirmir

Цитата: fomenka от 08 октября 2007, 21:37:05
Для форума в кодировке 1251 проблема была решена через редактирование sub-post.php. Русские имена убивает функция basename. И в FF, и в IE правильно загружаются и просматриваются, скачиваются аттачменты с русскими буквами в названии. В Opera не проверял.
Возможно, и вам поможет.  :D
Для кодировки 1251 такой проблемы вовсе нет! ;)
SMS на одном из моих форумов используется чуть ли не с первых версий, все прикреплённые файлы на русском прекрасно видны и без проблем открываются... На другом форуме не пробывал, так как просто вложения запрещены... но почему-то на 99% уверен, что и там всё будет нормально... :)

ЗЫ. Заходил Оперой, Мозиллой, Морской обезьяной, Файфоксом, осликом Иа-Иа...

fomenka

Цитата: savirmir от 09 октября 2007, 16:05:55
Для кодировки 1251 такой проблемы вовсе нет! ;)
К сожалению, есть.
В мире операционных систем больше, чем одна. И кодировок тоже. Проблемы начинаются, когда кодировка форума не совпадает с системной локалью.


fomenka

Цитата: digger от 10 октября 2007, 15:02:56
Мне не надо ничего убирать, у меня и c basename работает.
Хм...так кроме Вас в этой теме еще люди высказывались. Вы заметили? Например, Avdenago.

digger®

Цитата: fomenka от 10 октября 2007, 16:08:35
Хм...так кроме Вас в этой теме еще люди высказывались. Вы заметили? Например, Avdenago.
Если у них имена файлов превращаются в непотребщину в момент загрузки, то им этот рецепт не поможет.

fomenka

Я бы не был столь категоричным. Возможно, причина другая, но этот рецепт помогал уже не раз. И не только мне. Дождемся ответов от людей, у которых такая проблема еще не решена?

digger®

Цитата: fomenka от 10 октября 2007, 22:45:40
Я бы не был столь категоричным. Возможно, причина другая, но этот рецепт помогал уже не раз. И не только мне. Дождемся ответов от людей, у которых такая проблема еще не решена?

Вообще, проблема имеет два варианта.

1) Нормальное имя файла записано в базу. На диске сохранен файл с битым именем.
Беда.
2) Нормальное имя файла записано в базу. На диске сохранен файл с нормальным именем. Форум при генерации ссылки на аттач колбасит от русского имени файла.
Тут может помочь рецепт с baseline. Так же, возможно, может помочь указание php нужной локали. Так же, вспомнил что в каких-то версиях php5 был баг с basename и неанглийскими символами.

Сам считаю, что лучшим вариантом было бы написать патч для форума, чтобы к именам вложений применялось urlencode/urldecode

bbbbbb

чем не нравится utf8?
или при перекодировке глюки могут быть?

fomenka

#27
Цитата: digger от 11 октября 2007, 02:01:46
1) Нормальное имя файла записано в базу. На диске сохранен файл с битым именем.
Битое имя возникает на этапе upload'а. В базу пишет правильное имя файла, а на диске файл создает с именем,  "исковерканным" basename. Причем, с эскизами этого не происходит. См. исходник Subs-Post.php
В любом случае, urlencode/urldecode нужен. И об этом говорят, как о стандарте обработки файлов. Но пока что-то этот стандарт разработчики не спешат соблюдать.

Цитата: bbbbbb от 11 октября 2007, 02:54:19
чем не нравится utf8?
или при перекодировке глюки могут быть?
Да почему не нравится? Нравится! Только вот глюк этот с вложенными файлами, похоже, и в utf8-кодировке форума имеет шанс себя проявить.

Avdenago

Короче. я не знаю программерских подробностей...

Но удаление basename дейстивтельно помогло...

пс. Форум был в win1251 кодировке...

Adept

 Имею ту же проблему. Кодировка UTF-8, пока не включаю шифрование файлов - закачивание на форум произвести можно, но доступ к файлам потом теряется. При включинии шифрования все работает, но в эксплорере и иногда в других браузерах при сохранении файла  корябит имя на  нечитаемые символы.
Удаление basename не помогает. Локаль ru_RU.utf8 на хостинге имеется.

jazz

Цитата: Avdenago от 11 октября 2007, 10:56:41
Короче. я не знаю программерских подробностей...

Но удаление basename дейстивтельно помогло...

пс. Форум был в win1251 кодировке...

да дело именно в php5 и basename ...
сам на днях перешел на 5-й пхп и заметил такой же глюк .. пока раскопал где проблем а... :) ...
вообщем если не верите можете вывести одно и тоже имя файла чарез basename написанное русскими символами в 1251 на 4-м и на 5-м пхп ....
пятый его просто обрезает.

Олег Верещагин

Цитата: fomenka от 08 октября 2007, 21:37:05
Для форума в кодировке 1251 проблема была решена через редактирование sub-post.php. Русские имена убивает функция basename. И в FF, и в IE правильно загружаются и просматриваются, скачиваются аттачменты с русскими буквами в названии. В Opera не проверял.
Возможно, и вам поможет.  :D
Спасибо, давно мучался с этой проблемой. Очень помогли!

JiN.88

#32
а какое решение будет в случае с UTF-8?

хост:
локаль системы ru_RU.utf8
Apache 2.0.59
PHP 5.2.2
MySQL 5.0.4

база:
MySQL charset: UTF-8 Unicode (utf8)
MySQL connection collation: UTF-8_general_ci

SMF:
SMF 1.1.4, при установке выбрано UTF-8
установлен мод TP 0.983
установлены русские UTF-8 локализации SMF и TP

При открывании аттача содержащего русские буквы в названии при помощи IE7, аттач открывается, но имя файла превращается в набор крякозябров.
При открывании при помощи FireFox2 - имя файла выглядит нормально, все замечательно.

Что где нужно поправить для нормального отображения в IE?
(только прошу конкретных указаний что где на что править, ибо в php я не силен  :( )

JiN.88

Проблема существует только у меня?
Поиски решения ничего не дали.
Предлагать пользователям не пользоваться IE - некорректно немного, имхо.
Прошу ответить.

dextor

Цитата: JiN.88 от 12 марта 2008, 09:26:09
Проблема существует только у меня?
Поиски решения ничего не дали.
Предлагать пользователям не пользоваться IE - некорректно немного, имхо.
Прошу ответить.
Проблему подтверждаю, проявляется только в IE.

Mavn

читайте тему потом задавайте вопросы выше по тексту дано решение!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

JiN.88

Цитата: Mavn от 12 марта 2008, 09:46:55
читайте тему потом задавайте вопросы выше по тексту дано решение!
финт с subs-post.php и basename не проходит
возможно потому-что форум не в кодировке 1251
или решение - делать форум в кодировке 1251 ?

JiN.88

сдаюсь, тыкните носом в решение проблемы, я не гордый
во всяком случае пока  :)

Shneider

Здравствуйте, очень надеюсь на вашу помощь.
У меня форум на бесплатном хосте, форум мы с другом заливали и ставили сами, версия SMF 1.1.4 и вот возниклатакая проблема, прикрепленные к сообщению файлы когда их пытаешся скачать/открыть, тоесть когда кликаешь на них открывается вот такое новое окно с сообщением:
ЦитироватьОшибка 404
Файл не найден

Запрашиваемая вами страница не существует
или вы вводите адрес не правильно.
Убедитесь что вы запрашиваете правильную страницу.
Попробуйте набрать адрес ещё раз.
Пожалуйста, убедитесь что ваш файрвол не модифицирует адреса.
Если вы используете прокси, попробуйте отключить его.
Я непонимаю почему так, в настройках форума разрешено прикреплять файлы до 2 мб, прикрепляют файлы максимум до 1 мб, притом заметил, есть прикрепленный файл (rar) размером 3.57 кб, так он скачивается, а файлы весом 4.67, 20, 36 кб выдает ошибку.
Прошу подскажите в чём проблема как её решить, а то я в дипрессии.

Mavn

а сами файлы в папке вложений есть или их нет?
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Shneider

Я заходил на ФТП в папку атачментс там все файлы есть, также в админку зашел в Вложения и аватары>Просмотр файлов>Вложения там тоже всё есть.
Что характерно фалйлы-картинки открываются для просмотра все, любого размера, а вот срасширением doc, zip, rar нет. idiot

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Shneider


Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Shneider

Спасибо! Проблему нашел, действительно нужно чтоб файлы были с названием на латинице.
Тему можно закрыть.

Avdenago

Цитата: Shneider от 22 марта 2008, 21:49:55
Спасибо! Проблему нашел, действительно нужно чтоб файлы были с названием на латинице.
Тему можно закрыть.

вот это еще советую почитать. мне помогало.
http://www.simplemachines.ru/index.php/topic,1200.0.html

libert

Ребята,всем привет...ну то что вы здесь все продвинутые я уже понял:)
Я тоже продвинутый ,но только по музыке....
У меня к вам вопрос(но считайте что очень слаб в компе)
У меня есть музыкальные вложения-это наши работы-аранжировки...вот эти вложения я не могу залить ни скачать в Internet Explorer...в Opere..в Mozille..пожалуйста..и что я только не пытался делать со своими небольшими знаниями..ничего не помогает..наверно я чего-то не знаю........а ребята на меня обижаются..у многих Explorer не все хотят менять Браузер..
Вот такая у меня большая или маленькая проблема....
Буду очень благодарен за помощь!!!!

Mavn

Название файлов на каком языке?
Кодировка и версия форума?
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

libert

Всем привет,а если я не хочу или не могу на латинице..что тогда делать???
У меня все вложения на русском и ничего не читает,а просить сотни пользователей переписывать у них в компе файлы перед отправкой-это нереально!!!!
Нужно решение,оно точно есть у того кто знает эту проблему!!!!

libert

Если пишу названия файлов латиницей проблем нет..проблема только с русскими названиями.
Кодировка utf-8
версия форума SMF 1.1.4