Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка в Опере
 
 автор: dron   (29.10.2005 в 00:01)   письмо автору
 
 

При скачивании файла по ссылке типа:

http://xxx/download.php?userfilename=%25D5%25EE%25EB%25EE%25E4%25ED%25EE%25E5%2B%25CB%25E5%25F2%25EE%2B53-%25E3%25EE%2B-%2B%25D4%25E8%25ED%25E0%25EB

где "%25D5%25EE%25EB%25EE%25E4%25ED%25EE%25E5%2B%25CB%25E5%25F2%25EE%2B53-%25E3%25EE%2B-%2B%25D4%25E8%25ED%25E0%25EB" это имя файла которое выводится при загрузке в диалоге браузера (закодированно urlencode();)
В IE отображаются русские слова, а в Опере нет а выводится вот такое ????? ????(???????????)

Как это исправить?

   
 
 автор: cheops   (29.10.2005 в 00:19)   письмо автору
 
   для: dron   (29.10.2005 в 00:01)
 

А опера какая?

   
 
 автор: cheops   (29.10.2005 в 00:22)   письмо автору
 
   для: dron   (29.10.2005 в 00:01)
 

Странная кодировка - похожа на кодировку Google или ещё кого, они не через urlencode() кодируют, а так прямо UTF-8 пишут, предваряя каждый символ %.

   
 
 автор: dron   (29.10.2005 в 00:29)   письмо автору
 
   для: cheops   (29.10.2005 в 00:22)
 

Дык это у меня скрипт так выводит. Ладно с urlencode()
Вот:
$userfilename = ("Фаил");
$ext = '.mp3';
$files = ("1.mp3");
$filenames = ("$userfilename$ext");
$url= "file/mp3/";
$total= "$url$files";
Header( "Content-Type: music/mp3");
Header ( "Content-Length: ".filesize($total));
Header( "Content-Disposition: attachment; filename=$filenames");
readfile($total);

В IE В окне загрузки пишет Фаил.mp3 а в Опере ?????.mp3 , вот типа такого
Как вылечить?

   
 
 автор: cheops   (29.10.2005 в 13:13)   письмо автору
 
   для: dron   (29.10.2005 в 00:29)
 

При использовании русских букв без urlencode() не получится. В какой кодировке сохранена страница в UTF8?

   
 
 автор: dron   (29.10.2005 в 17:38)   письмо автору
 
   для: cheops   (29.10.2005 в 13:13)
 

windows 1251

   
 
 автор: cheops   (30.10.2005 в 13:57)   письмо автору
 
   для: dron   (29.10.2005 в 17:38)
 

Хм... а значения переменных
<?php
$userfilename 
= ("Фаил");
$ext '.mp3';
$files = ("1.mp3")
?>

в реальном скрипте откуда поступают?

   
 
 автор: dron   (30.10.2005 в 14:14)   письмо автору
 
   для: cheops   (30.10.2005 в 13:57)
 

download.php?userfilename=Фаил&files=1
вот так

   
 
 автор: cheops   (30.10.2005 в 14:21)   письмо автору
 
   для: dron   (30.10.2005 в 14:14)
 

Хм... так у вас браузер или предварительно скрипт уже русское слово "Фаил" кодирует?

   
 
 автор: dron   (30.10.2005 в 22:24)   письмо автору
 
   для: cheops   (30.10.2005 в 14:21)
 

слово Фаил кодируется функцией urlencode() предворительно в одном скрипте и передаётся по ссылке типа download.php?userfilename="тут слово фаил закодированное urlencode()"

   
 
 автор: cheops   (30.10.2005 в 23:10)   письмо автору
 
   для: dron   (30.10.2005 в 22:24)
 

У вас где-то "тут слово фаил закодированное urlencode()" пропускается через два urlencode() - нужно через один.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования