Поддержка Проблемы и решения Кириллица в Медиафайлах

  • Всем привет. Послушался совета Flector и установил XAMPP под Windows. Поднял сервер, перенес сайт от хостера к себе. Всё великолепно, всё работает. Нет ни битых ссылок, ничего.
    Но появилась одна «проблема», которую вот уже битые сутки не могу решить самостоятельно:
    При добавлении в медиафайлы любого файла содерержащего кириллицу в названии, он (файл) становится недоступным для дальнейшей с ним работы.
    Т.е. я, например, загружаю файл фото.jpg:
    http://yevgen-pl.pp.ua/images/1.jpg
    Однако после загрузки файл не отображается и не доступен для использования:
    http://yevgen-pl.pp.ua/images/2.jpg
    Причем база хранит правильно название файла:
    http://yevgen-pl.pp.ua/images/3.jpg
    А вот на сервере эти файлы хранятся в другой кодировке (подозреваю что в виндовой с1251)
    http://yevgen-pl.pp.ua/images/4.jpg

    Однако ДО переноса сайта на виндовый ХAMPP всё работало великолепно, и кириллические символы в названии не менялись:
    http://yevgen-pl.pp.ua/images/5.jpg

    Собственно вопрос:
    Как починить?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • первой строчкой в .htaccess

    AddDefaultCharset UTF-8

    далее — кодировка базы данных правильная?

    гугл забит подобными проблемами (не с xampp, а вообще с локальными серверами), но никакого нормального решения я не нашел. и я не могу воспроизвести эту проблему — у меня всегда русские имена работают, хотя я их никогда и не использую.

    случайно папку xampp не содержит русские символы?

    Папка Xampp в корне диска С:
    AddDefaultCharset UTF-8 — добавлен
    Кодировка базы данных utf8_general_ci
    Вот и я в гугле ничего не нашёл…
    Подумал спрошу тут, раз есть люди, использующие XAMPP…

    Причем проблема то не в базе. В базе всё отображается правильно. Ссылки верные. При клике по ссылке адрес тоже открывается правильный.
    Просто сервер не может найти картинку с таким именем файла, так как при записи на диск при загрузке название картинки меняется на Фото.jpg вместо Фото.jpg

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В PHP для Windows есть баг — нельзя задать кодировку для имён файлов. Т.е. файлы с русскими именами в UTF-8 в Windows загружаются некорректно.

    При переносе на хостинг проблема должна решиться.

    Похожая тема: «Проблема с медиафайлами на локальном сервере».

    В PHP для Windows есть баг — нельзя задать кодировку для имён файлов.

    Спасибо за ссылку. За сутки головоломок натыкался на тему, которую Вы привели в пример, где Александр говорит про то, что проблем в XAMPP не наблюдается, потому и копал дальше…
    В данный момент проблему решил костылём, в виде Cyr to Lat enhanced.
    Ещё раз спасибо.

    а плин, точно — cyr-to-lat у меня включен даже на тестовом сервере, а я и не заметил.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Кириллица в Медиафайлах» закрыта для новых ответов.