За последние 24 часа нас посетили 18553 программиста и 1705 роботов. Сейчас ищут 913 программистов ...

Проблемы с перекодировкой браузера

Тема в разделе "PHP для новичков", создана пользователем nOobCrafter, 28 май 2009.

  1. nOobCrafter

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

    С нами с:
    28 май 2009
    Сообщения:
    11
    Симпатии:
    0
    День добрый, ситуация такова, через пхп5 делаю список файлов в некой директории и вывожу собсна список вместе со ссылками на них флешу, флеш генерит меню. И все бы хорошо, но появилась опция копировать в буфер эти самые ссылки (что бы допустим качать не через браузер) и вот тут появляется косяк, если по клику качается нормально, то при копипасте ссылки в браузер пишет что файл не обнаружен, и наоборот, проблема с кодировками, ибо когда их меняю то меняется результат.
    Как можно унифицировать все это дело? Флешу отдаю в utf-8, флеш тоже только в этом формате отдает, в браузере обозначено как:
    HTML:
    1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    вроде бы все логично, НО адекватно себя ведет только если скармливаю ссылки так:
    PHP:
    1. $toXML .= "<item film = \"".$file."\"
    2.                     link = \"".[color=green]toUTF[/color]($linkname."/".$folder."/".$file)."\"           // это то что вы получаем при нажатии
    3.             linkCopy = \"".$linkname."/".$folder."/".$file."\" />";       // это просто для копипаста
    4. ------------
    5. function toUTF($str)
    6. {
    7.      $str=iconv("cp1251", "utf-8//IGNORE", $str);
    8.      return $str;
    9. }
    данные и так пишутся в utf-8 а если уже раз сделать "ложное" перекодирование в кракозябру то все работает, но непонятно почему, на основе этого создается впечатление что при получении от флеша getURL(link, "_blank"); браузер пытается еще раз конвертнуть данные из utf-8 в cp1251. Может кто нибудь обьяснить что надо поправить?