За последние 24 часа нас посетили 20877 программистов и 1128 роботов. Сейчас ищут 387 программистов ...

Проблема с русскими названиями файлов картинок.

Тема в разделе "Обработка изображений средствами PHP", создана пользователем jei, 4 июл 2013.

  1. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Проблема с русскими названиями файлов картинок.
    Не пойму почему у меня на денвере всё работает вот пример

    Код (Text):
    1. <img style = "border:1px solid #608209;" src = "img/product_foto/Горелка.jpg" width = "170px" style = "" />
    На сервере просто тупо не хочет воспринимать русские названия фоток.Причём если назвать английскими всё работает.Что я только не пробовал и кодировать название в пути
    iconv("windows-1251","utf-8", $files[$a]).И менять кодировку скрипта и в щтд ацесс ставил ютф по умолчанию.И в базе менял.Ничего не помогает.Есть правда одна мысль просто попробовать локально без скрипта просто картинку подтянуть сейчас проверю.
    Нет тоже бесполезно.

    Добавлено спустя 57 минут 32 секунды:
    Для информации если поможет привожу в пример 2 хостинга на одном работает
    http://nord-pizza.ru/images/ddd.php
    http://nord-pizza.ru/images/Горелка.jpg
    на втором отказывается воспринимать
    http://divniisad.ru/divniisad/img/product_foto/%c3%ee%f0%e5%eb%ea%e0.jpg
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    О.о дико извиняюсь, но какого ЙУХА? кому вообще в голову приходят мысли заливать файло с русскими названиями?
    Никогда, никогда так не делайте, тем более если хостинг юниксовый.
     
  3. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
  4. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Ke1eth спасибо что ответил.Ну тут понятно откуда взялись русские буквы.Офисныx девочек или мальчиков попросили назвать картинки согласно названиям товаров.Конечно же логика простая называть картинки так же как и пишутся они на русском.Я их понимаю сделал наверняка так же на их месте что бы не парится.Я могу конечно сделать траслитацию автоматом во всех местах где надо.Но меня всё таки очень гложет мысль почему на одном хостинге работает а на другом нет.И возможно ли как то настроить на том на котором не работает?)))
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    на одном винда, на другом юникс!!!!
     
  6. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Чо не как не перекодировать слово Горелка
    Мне вот например удалось ссылку расшифровать так
    Код (Text):
    1. $str = rawurldecode('%c3%ee%f0%e5%eb%ea%e0');
    2. echo iconv("windows-1251","utf-8", $str);
    3. //выдаст Горелка стало быть и закодировать можно)
    4.  
    5. //рабочий вариант
    6. http://divniisad.ru/divniisad/img/product_foto/%c3%ee%f0%e5%eb%ea%e0.jpg
    7. а так кодирует rawurlencode('Горелка');
    8. http://divniisad.ru/divniisad/img/product_foto/%D0%93%D0%BE%D1%80%D0%B5%D0%BB%D0%BA%D0%B0.jpg
    Получается не понятка раскодировать можем а закодировать нет) или я не правильно кодирую)
     
  7. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    ахуеть у тя фантазия )))) где ты хоть эту функцию выискал ))))
     
  8. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    В мануале php.Ладно плюну наверное транслитирую, уже всё надоело.
     
  9. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    А чем банальный md5 от названия не нравится или uniqid?
    Зачем через гланды решать?
     
  10. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
     
  11. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    о май гад дружище ну при чём тут md5 тут надо из слова Горелка получить такую крякозябру)
    %c3%ee%f0%e5%eb%ea%e0
    и всё что надо
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    ты ж претендуешь на звание "программист". давай, тряхни знаниями нативных функций пхп.
     
  13. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    я нет так немножко умею.А что такое нативные функций
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    а урл декодер помогает?

    Добавлено спустя 1 минуту 23 секунды:
    не то.
     
  15. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Сначала надо посмотреть в какой кодировке php скрипт(ы). Только тогда кивать на сервер.

    Типовая схема: все скрипты/шаблоны/и прочее включая хтмл в UTF-8 without BOM. В шаблонах заголовок
    header('Content-Type: text/html; charset=UTF-8');
    в части хтмл (чисто для оффлайна)
    <!DOCTYPE html>
    <html lang="ru" dir="ltr">
    <head>
    <meta charset="UTF-8">

    Ну вот, а потом если кириллицы не видно, энфорсить можно через .htaccess, типа AddDefaultCharset или типоцентрически http://httpd.apache.org/docs/current/mod/mod_mime.html