+ Reply to Thread
Results 1 to 7 of 7

Thread: Название файлов на русском языке (или любом другом)

  1. #1
    Junior Member contributor is on a distinguished road
    Join Date
    Mar 2011
    Location
    Odessa
    Posts
    15

    Question Название файлов на русском языке (или любом другом)

    Здравствуйте, господа!

    Установив на сайт InstantCMS заметил, что в ее компоненте "Форум" невозможно прикреплять к сообщениям файлы с русскими названиями: названия искажаются, после чего файлы не загружаются.
    Попробовал загрузить этот же файл через менеджер файлов панели управления в папку "/public_html" , получил огроный файл сиспорченным названием "_#1057__#1087__#1080__#1089__#1082__#1080_ _#1075__#1088__#1091__#1087__#1087_ 3_#1082_ _#1048__#1041_.doc.", при попытке открыть который выскакивает ошибка "
    Error: document not found
    "
    Собственно вопрос в том, можно ли каким-то образом для этого хостинга настроить нормальную загрузку файлов на русском/украинском/китайском/немецком или любых других языках?

    Пользователи форума ведь будут добавлять к сообщению файлы с разными названиями. Их никак не приучишь предварительно переименовывать файлы. Как вариант вижу только прозрачное для пользователя переименование файла (транслитерацию) непосредственно в процессе его загрузки, но это тоже не совсем выход.

    Какая локаль вообще установлена на самом сервере?

    Заранее спасибо за ответ.

    P.S. Если вдруг нужен мой логин, то он - kafedr
    Last edited by contributor; 03-12-2011 at 07:33 PM. Reason: Добавил P.S.

  2. #2
    Super Moderator Amator is on a distinguished road Amator's Avatar
    Join Date
    Sep 2010
    Location
    Kiev, Ukraine
    Posts
    1,463

    Re: Название файлов на русском языке (или любом другом)

    Здравствуйте! Логин то есть, а вот сервера не видать Возможно ваш форум использует одну из функций которая отключена в целях безопасности и уменьшения нагрузки, хотя у меня при работе с phpbb3 подобных проблем с файлами не возникло.
    Прочитайте перед созданием темы
    No support via PM - forum is for support.

  3. #3
    Junior Member contributor is on a distinguished road
    Join Date
    Mar 2011
    Location
    Odessa
    Posts
    15

    Re: Название файлов на русском языке (или любом другом)

    Спасибо за быстрый ответ!
    Сервер, вроде, девятый - Free Web Hosting Service Powered by Cloud Computing - Host1Free.com (если я там смотрю, где нужно).
    Попробую пока переставить эту CMS. Но подозреваю, что эффект будет аналогичный.

  4. #4
    Junior Member contributor is on a distinguished road
    Join Date
    Mar 2011
    Location
    Odessa
    Posts
    15

    Re: Название файлов на русском языке (или любом другом)

    Переустановка не помогла.
    Вообще как-то странно происходит переименование.

    Например, загружается файл "Новый текстовый документ (2).txt", на форуме он отображается как "текстовый документ (2)_0157e.txt", а в файловом менеджере панели администрирования - "òåêñòîâûé äîêóìåíò (2)_0157e.txt".

    Другой пример: загружается файл "Второй важный документ .txt", на форуме он отображается как "_важный_документ__0157e.txt ", а в файловом менеджере панели администрирования - "_âàæíûé_äîêóìåíò__0157e.txt".

    Еще пример: загружается файл "123 супер важный документ - копия.txt", на форуме он отображается как "123_супер_важный_документ__-_копия_0157e.txt ", а в файловом менеджере панели администрирования - "123_ñóïåð_âàæíûé_äîêóìåíò__-_êîïèÿ_0157e.txt".

    И с картинкой тест: загружается файл "help.gif", на форуме он отображается как "help_0157e.gif", а в файловом менеджере панели администрирования - "help_0157e.gif".

    Непонятно, почему в некоторых случаях пропадает первое слово из названия и во всех добавляется в конце "_0157e".

    Как вы думаете, это проблема самой CMS или хостинга?

  5. #5
    Super Moderator Amator is on a distinguished road Amator's Avatar
    Join Date
    Sep 2010
    Location
    Kiev, Ukraine
    Posts
    1,463

    Re: Название файлов на русском языке (или любом другом)

    Это CMS как то обрабатывает файлы при загрузке. При чем по видимому она использует такую кодировку в которой невозможно нормально обработать русские символы. В phpbb3 с UTF-8 таких проблем не возникает.
    Прочитайте перед созданием темы
    No support via PM - forum is for support.

  6. #6
    Junior Member contributor is on a distinguished road
    Join Date
    Mar 2011
    Location
    Odessa
    Posts
    15

    Re: Название файлов на русском языке (или любом другом)

    Ясно, спасибо.

  7. #7
    Junior Member contributor is on a distinguished road
    Join Date
    Mar 2011
    Location
    Odessa
    Posts
    15

    Re: Название файлов на русском языке (или любом другом)

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

    А это нормально, что если без всякой CMS попробовать загрузить сюда на сервер через менеджер файлов панели директ админ файл с русским названием, то русские буквы также заменятся на их коды: "#1057__#1087__#1080__#1089__#1082__#1080_ _#1075__#1088__#1091__#1087__#1087_ 3_#1082_ _#1048__#1041_.doc"?

    Вопрос возник потому, что я решил сделать транслитерацию загружаемых файлов, как описано здесь - Транслит загруженных файлов - InstantCMS Community . Однако после редактирования, сохранения файла "/components/users/frontend.php" и его последующего открытия (добавил туда фрагмент кода):

    ===========================================================
    $name=strtr($name,"абвгдеёзийклмнопрстуфхъыэ_","abvgdeeziyklmnoprstufh'iei");
    $name=strtr($name,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_","ABVGDEEZIYKLMNOPRSTUFH'IEI");

    $name=strtr($name, array(
    "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
    "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
    "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
    "Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
    "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye") );
    ===========================================================

    я обнаружил, что все русские и украинские буквы заменены на их коды, и код не работает. Т.е. в этом случае замену проводила уже не CMS.

    Другой вариант кода:

    ===========================================================
    $info = pathinfo($name);
    $file_name = basename($name,'.'.$info['extension']);
    $file_name = cmsCore::strToURL($file_name);
    $ext = substr($name,1+strrpos($name,"."));
    $name=$file_name.".".$ext;
    ===========================================================

    работает, но вопрос о том, нормально ли то, что происходит замена всех русских/украинских букв на их коды, остается открытым.

    Заранее спасибо за ответ.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34