За последние 24 часа нас посетил 18191 программист и 1590 роботов. Сейчас ищет 1141 программист ...

Альтернативное URL-кодирование.

Тема в разделе "PHP для новичков", создана пользователем WWWovan, 11 дек 2007.

  1. WWWovan

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

    С нами с:
    10 дек 2007
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Киев
    Для детского ресурса жены делаеться скрипт линеечек.
    Данные для отображения передаються через URL и на их основе формируеться линеечка.
    И все вроде ничего, но возникла проблема с перекодирование передаваемых текстовых данных.
    Если кодирую данные в URL при помощи rawurlencode/urlencode, то форум IPB при вставке, например, такого линка:
    http://www.malecha.org.ua/lin/l_lin3.png_b_10.png_t_%D1%E8%ED%EE%F7%EA%F3_d_1_m_1_y_2007_c_1.png
    Автоматом преобразовует его в:
    http://www.malecha.org.ua/lin/l_lin3.png_b_10.png_t_Синочку_d_1_m_1_y_2007_c_1.png
    И получаем слудеющее :( :
    [​IMG]
    Хотя без этого "преобразования" линеечка получается нормальная.
    Если кодировать при помощи base64_encode, то в конечном итоге время от времени неправильно декодирует текст... Грешу на то, что base64_encode/base64_dencode не умеет коректно работать с украинскими символами(хотя глюки возникают не только при них)

    Какие альтернативные функции кодирования передаваемых данных можно использовать?
    Хотелось бы добиться, например, URL вида: http://www.malecha.org.ua/lin/2hdid5f577j21jbjcff3e7eee6e8f2e5ebfe.png
    Или любого другого... Главное чтобы коректно работало.

    [/img]
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А вариант с транслитом не пойдет?
     
  3. WWWovan

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

    С нами с:
    10 дек 2007
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Киев
    Думаю, пойдет.
    Правда не совсем понимаю как будет происходить детранслитизация. И как учесть что текст может быть, например, на английском.(Правда, последним можно пожертвовать если не будет других вариантов. Линейки должны быть в основном украиноязычные.)
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну, соответственно, я - это ja, i - так и оставить.
    Насчет других языков, то при регистрации линейки можно давать форму, где надо выбрать язык. А потом передавать в адресе параметр, допустим
    http://www.malecha.org.ua/lin/l_lin3.pn ... ang=ua.png

    Не забудьте и про "мicяцiв" на другой язык менять, в таком случае.
     
  5. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    в настройках ipb копался? а вообще, переходи полностью на юникод и таких проблем возникать не будет :)