Есть ли такая кодировка...
А вообще это что у тебя? Русский Apache что-ли?
До этого имел дело с 1.3 какой-то там под линухом, там апач был русский, там была директива CharsetDisable On, в настоящей версии нету...
И проблема ведь в том, что он искажает файлы, которые я загружаю на сервер, заменяет некоторые байты на другие... неважно, есть у меня .htaccess или нет... и неважно, что там написано, та кодировка, которая установлена по умолчанию в httpd.conf или другая...
<Location />
CharsetRecodeMultipartForms Off
</Location>
в httpd.conf рекомендуется прописать...
Апач не запускается...
Поискал в http://gluk.v.ru/manual/mod/quickreference.html списке директив, нашел только
CharsetDefault
CharsetOptions
CharsetSourceEnc
Может мне другой апач поставить? Чтобы работали эти директивы?
CharsetDisable on
не пробовал?
Пробовал, говорит, что не узнает директиву...
Программа для перекодировки в "более эффективную кодировку" выложена здесь:
http://www.compression.ru/sh/#Bottom
Там, где написано:
22.12.2k - sh 0.02 & sh 0.02s (исходники прилагаются).
Апач, когда получает этот файл в директориюТогда такой вопрос - как он у тебя получает файл в директорию?
<form enctype="multipart/form-data" action="../cgi-bin/upload/upload.pl" method="POST">
<input type="hidden" name="max_file_size" value="65536"><>
Имя файла: <br>
<input name="filename" type="file">
<br>
<input type="submit" value="Отправить">
</form>
upload.pl
#!c:\perl\bin\perl
use CGI;
$query = new CGI;
$filename = $query->param("filename");
$IN = $query->upload("filename");
open OUT, ">$upload_dir/$filename";
while(<$IN>){
print OUT;
}
close OUT;
Просмотреть, что получается можно тут: http://gluk.v.ru/upload/ Начиная с 13-го рисунка, все они были зааплоажены неправильно (это когда я перенес все под винды).
> Можно перекодировать файл к кодировке, которую указать в .htaccess
На форум как-то заливают картинки, и ничего не перекодируется.
Никаких специальных настроек никто не делал для этого.
Поэтому это наверное у тебя какие-то хитрые настройки, маза их отменить.
Русский apache перекодировывает аплоады на лету по умолчанию.
Маза прочитать документацию и найти, где это отключается
Поищи, вот мануал именно к тому апачу, который установлен у меня.
Наверное, надо смотреть по ключевому слову InputFilter
Лучше откати и поставь какую-нибудь из версий 1.3.x
apache.lexa.ru
Включил в httpd.conf для директории cgi-bin
AllowOverride All
Написал в файле .htaccess, который лежит в директории со скриптом, директиву
CharsetDisable On
И вставил в скрипт upload.pl строчку
binmode(OUT);
После всех этих манипуляций скрипт для загрузки картинок на сервер снова заработал. Смотрите:
http:\\gluk.v.ru\upload.html
Итак, поставил Апач 1.3.22 русский (Win32 скачанный по ссылке с сайта Включил в httpd.conf для директории cgi-bin
AllowOverride All
Написал в файле .htaccess, который лежит в директории со скриптом, директиву
CharsetDisable On
И вставил в скрипт upload.pl строчку
binmode(OUT);
После всех этих манипуляций скрипт для загрузки картинок на сервер снова заработал. Смотрите:
http:\\gluk.v.ru\upload.html
Оставить комментарий
Elina74
Вопрос - есть ли такая кодировка, при перекодировании в которую, файл не изменится? Как она называется?Это общий вопрос.
А конкретно, почему я спрашиваю:
Есть некий бинарный файл, в котором могут быть совершенно любые байты от 0 до 255. Апач, когда получает этот файл в директорию, пытается перекодировать ее к DefaultCharset. Можно перекодировать файл к кодировке, которую указать в .htaccess