- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Хром кодирует строку в utf-8
А в опере в которой играет cp1251
При выводе ссылки используется код:
$url = iconv('windows-1251','UTF-8',$arr['url']);
это вроде как преобразовывает из вин в утф, или нет?)
= к тому же в файле прописан header('Content-type: text/html; charset=utf-8');
хотя по умолчанию все аякс запросы в утф идут...
Я же говорю - как только не вертел...
Я вообще не знаю с чем связан тот факт что в опере таки играет...
Согласившись с вашим предоположением таки наваял в файле urlencode.php
$get = iconv('windows-1251','UTF-8',$_GET['file']);
Не играет. хоть тресни зарраза под хромом не играет.(надо заметить на денвере везде нормально играет и тут rotmaister.narod2.ru тоже. Последнее - это собственно проигрыватель который я наваял. Вывод - ошиппка не в яваскрипте...))
______________
к слову играет там не везде, и не всегда. я каждые 5 минут что-то правлю. Играют треки исполнителей, например тут можно послушать:http://aftamat4ik.ru/unt.php#authorname=Грот.
На главной нельзя - там у меня другой скрипт за все отвечает,и там ничего не подправлено, пока...
До фени.
Вроде как перекодирует... Кириллица в путях и именах файлах всегда было извращением и пляска с бубнами.
Выше же написано, играет потому что в опере урленкодится строка из cp1251, хром из utf-8. http://aftamat4ik.ru/audio/%C4%EE%EC%20%C2%E5%F2%F0%EE%E2/%CA%E8%F2%EE%E1%EE%E9/%C4%EE%EC%20%C2%E5%F2%F0%EE%E2%20-%20%CC%EE%F0%F1%EA%E0.mp3
И даже то что в опере работает здесь, не факт что на другом сервере тоже будет работать.
Не бывает неполноценных переходов... :) - они или есть, или их нет.
Ваш js-проигрыватель запрашивает файл у сервера (и получает его - вполне "полноценно") => хтакесс отдает не сам файл, а файл urlencode.php, который, в свою очередь делает что хочет...
Точно) что то я совсем... ладно судя по всему "магического" способа не существует. придется методом "я в танке" менять всю базу данных и писать скрипт по переименовыванию папки, после занесения ее названия в бд...
---------- Добавлено 12.06.2012 в 22:00 ----------
...cp1251...
Аха! так щщас. То есть надо попробовать переделать урл в cp-1251. К стати я это уже делал) вроде не прокает, щас еще раз...
$get = iconv('windows-1251','UTF-8',$_GET['file']);
То есть эту обработку применяете ко всем запросам? А что будет если один например идет в windows-1251, другой в utf-8? Как вариант поменяйте их местами.
cp1251 и windows-1251 это одно и тоже.
В общем поменял на это:
$get = iconv('UTF-8','windows-1251',$_GET['file']);
И вы не поверите! Произошло чудо. Все 3 броузера наконец то сошлись на 1 - в них музыка не играет!))
гет запрос и так в утф передается, я его 2 раза в 1 и ту-же кодировку переводил - это было не правильно, но косяков не вызывало, что естественно. Теперь же я возвратил ссылку в win-1251,ясное дело она не заиграет)) Может наоборот о_0 хром как раз в cp-1251 урл читает а 2 остальных в утф? Хотя нет. под хромом же тоже не воспроизводит...
И вообще почему не эскейп! строка вида /audio/Дом Ветров/ в хроме выглядит так: /audio/Дом%20Ветров/ Ну я какбэ знаю что %20 - это код пробела(в escape последовательности), но в файрфоксе и опере ссылка без этого символа,а в хроме с ним. Как уже говорилось ссылка не подвергалась php urlencode(); Хотя проблемма не в %20, потому что из папки Катарсис тоже не играет хД
---------- Добавлено 12.06.2012 в 22:15 ----------
cp1251 и windows-1251 это одно и тоже.
Знаю. и к стати правильно писать cp-1251, именно через тире( на хабре вчера прочел де-то) и utf-8, тоже через тире:)
---------- Добавлено 12.06.2012 в 22:27 ----------
То есть эту обработку применяете ко всем запросам? А что будет если один например идет в windows-1251, другой в utf-8? Как вариант поменяйте их местами.
я же говорю - ВСЕ аякс запросы то есть Get и Post кодируются(сразу) в утф-8, хочешь ты этого или нет. То есть здесь почему то все броузеры(даже о ,нет интернет эксплорер!) имеют единое мнение. Можно передавать строку хоть в ср-1251 она все равно в утф будет преобразована, и на обработчике придется писать так:
$get = iconv('UTF-8','windows-1251',$_GET['file']);
как к стати у меня и написано, но у меня сайт на утф-8 сделан, а значит это без надобности.
Если требуется передать данные в запросе какой-либо другой(специальной) кодировкой надо юзать это:
header('Content-type: text/html; charset=ср-1251');
У меня таких строк ни в 1 скрипте никогда не появится)
Наверное поэтому у вас все получается, что много читаете. http://www.google.ru/search?client=opera&rls=ru&q=cp1251&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest
Гет запрос не передается в "utf", передается закодированная строка http://ru.wikipedia.org/wiki/URL#.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_URL
Господа... проблема решена) Всего 2 часа мучений и вот он - результат. Оказалось что править по сути надо не так много)(самодовольство - хороший код все же я написал, хотя вы его конечно не видели...) Метод 'я в танке' сработал. Я убрал все кирилические адреса и прочие заморочки. Да мы победили в великой отечественной, но интернет придумали янки(или применили на практике) => придется все их буквами ковать... Скрипт получился небезопасный, из него можно такого наворотить.(из-за этого придется хранить бэкап папки audio, а она исходя из размаха проекта будет не маленькая...) Зато пашет безотказно, как автомат. Зря я вас кодировкой грузил если честно. Всегда хочешь как прощще - а получается как всегда)) Надо было еще вчера накатать, а я до 3 в варике проторчал)
В общем проект переносится с домена aftamat4ik на вдс, и там допиливается, заливаются треки и прочее. Потом уже идет сео, так что я еще вернусь) Блин очково завтра в универ идти - опять мозг лечить станут)) К стати как вы думаете на кого я учусь? хД На Зоотехнега. Это гинеколог для коровы(в общем смысле работы). Почему?) - тут так как в крупных гордящихся своей репутацией университетах не мучают. И тут я крепко взял их за горло)) Ясное дело быть зоотехником я никогда в жизни не мечтал, и смотреть на то как рожает корова - тоже. поэтому пытаюсь девелопить, и вроде выходит потихоньку)
Хотя зачем все это рассказывать.
короче я за работу удачи всем)
______________________
В глубоком трансе...
Вы руками чтоли переименовывать собрались? Напишите скрипт который это сделает за вас. В тырнете уже есть готовые шаблоны для транслитерации рус-англ и обратно. Пройдите в цикле по директории где лежат Ваши папки с русскими названиями, и да будет Вам счастье.
Я как раз так и сделал) Правда без транслита, слегка сложнее, зато быстрее.
всего лишь сохранил имя директории в переменной, а потом переименовал директорию. и так по порядку. При этом идет проверка на то - существует такая директория(файл) в базе данных или нет.
Буквально пришлось добавить ок 15 сторок кода, и остальное чуть чуть подправить.
Цифры рулят. В цикле все и раньше проходилось(а как я по вашему все в бд добавлял?))