Проблемы с кодировкой при переносе на Windows server

Bekass

Новичок
Проблемы с кодировкой при переносе на Windows server

Сайт в кодировке utf8. При загрузке фалов имена их помещаются в БД в utf8, а также в этой же кодировке пишутся на диск. К примеру докОзера.jpg ( докОзера.jpg ).
Когда сайт был на Unix хосте проблем с вытаксиванием этих файлов не было по ссылке типа
http://ХХХ.com/data/докОзера.jpg
на диске находилось и отображалось, к примеру рисунок.
После перехода на виндовый хост теперь НИЧЕГО не отоброжается, по выше приведенной ссылке файл не находится.
Помогите с проблемой !!!
 

damngood

Мозг был, но ушел...
Писать файлы на диск не латиницей, как мне кажется, вообще не сильно хорошая затея. Отсюда и имеем твой геморрой. Ссылку тебе привели из тех соображений, что там ты должен был найти способ выяснить ПОЧЕМУ у темя файл "не находится".

PS: Да и вообще что значит НИЧЕГО не отображается, хоть что-то да должно быть...
 

Bekass

Новичок
К сожалению таковы требование, загружать файлы с кириллицей.
А почему не находит и так ясно что http://ХХХ.com/data/%D0%B4%D0%BE%D0...D1%80%D0%B0.jpg Apach Unix системы преобразует и находит файл на диске а Винда нет, может какие-то настройки Апача есть?
 

damngood

Мозг был, но ушел...
Bekass
требования это все от лукавого. Потому как всегда есть то как это должно работать и то как это реализовано, а вот как реализовано - тут тысяча способов, в частности не хранить файлы в таком виде.

Ты хоть логи апача смотрел? Что там пишется при запросе на такой бред?
 

Bekass

Новичок
File does not exist: Z:/home/localhost/www/society/news/news_img/\xd0\xb4\xd0\xbe\xd0\xba\xd0\x9e\xd0\xb7\xd0\xb5\xd1\x80\xd0\xb0.jpg
Что и следовало ((
 

damngood

Мозг был, но ушел...
Как вариант, который приходит в голову сразу, я бы тебе предложил сделать следующее.

1. На машине где все работало, запустить скрипт, который бы просто приведетвет имена файлов к виду id в базе или перевел их в транслит (если уж так хочется имена более-менее осмысленные)
2. Отдавал файлы на новом хостинге через заголовки, передавая реальное имя файлы из базы.
 

Bekass

Новичок
Решил проблему через Mode Rewrite

RewriteCond %{REQUEST_URI} !(.*).php(.*)$ [NC]
RewriteRule ^(.*).(.*)$ 1checkcod.php?s=%{REQUEST_URI} [L]

где в 1checkcod.php в кодировке 1251 ,там считывается содержимое файла и выводится в бинарном виде
 
Сверху