[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема при отображении файлов с русскими именами
cln2008
Доброго времени суток всем!

Есть такая проблема - я загружаю файл на сервер (файл -
Типовой договор поставки.doc). На сервак все уходит нормально.
Но вот когда пытаюсь его открыть по ссылке <a href='docums/Типовой
договор поставки.doc'>, выдает ошибку
The requested URL /crm3/docums/u19/Типовой договор
Ð¿Ð¾Ñ Ñ‚Ð°Ð²ÐºÐ¸.doc was not found on this server.

Может кто-то сталкивался с такой проблемой ?



Спустя 4 минуты, 13 секунд (26.03.2012 - 21:07) Игорь_Vasinsky написал(а):
Цитата
Может кто-то сталкивался с такой проблемой ?


huh.gif так целый раздел на форуме, глянь на первой странице.

Спустя 11 минут, 21 секунда (26.03.2012 - 21:19) cln2008 написал(а):
да там в основном проблемы при загрузке ...
а у меня загрузка нормально проходит, а вот потом отобразить - проблема sad.gif

Спустя 1 минута, 5 секунд (26.03.2012 - 21:20) Игорь_Vasinsky написал(а):
где при загрузке? ты раздел то хоть глянь. везде одни и те же проблемы при выводе. и кодировки файлов.

Спустя 7 часов, 15 минут, 6 секунд (27.03.2012 - 04:35) twin написал(а):
Вопрос в кодировке имени файла. Так вот, сервер крайне не любит таких вольностей с языками. По идее название файла должно состоять только из латиницы, цифр, точки, подчеркивания и дефиса. Все остальное - прямое насилие над сервером.

Попробуй url кодирование чтоли... Но я бы советовал транслитерацию.


Спустя 5 часов, 39 минут, 19 секунд (27.03.2012 - 10:14) eurobax написал(а):
Сейчас как раз занимался этим вопросом.. Да что у нас, сервер не может кириллицу в именах файлов хранить? Покажите мне этот редкий сервер.

Поступил в своем проекте так:
1. все скрипты в utf-8
2. имена файлов создаю в windows 1251 (кириллица)
3. при закачке и перед скачкой файла делаю преобразование кодировки имени файла

пример закачки:
foreach ($_FILES as $file) {
if (is_uploaded_file($file['tmp_name'])) {
// Set the filename for the uploaded file
$filename = $directory . "/" . iconv('utf-8', 'cp1251', $file['name']);
...



Спустя 10 часов, 26 минут, 35 секунд (27.03.2012 - 20:41) cln2008 написал(а):
eurobax, с закачкой на сервер как раз проблем нет ...
проблема была - есть ссылка на странице
<a href='файл на русском языке.doc'></a>
и когда клацаешь по ссылке, браузер не открывает файл по ссылке.

Но проблема решена - помогла функция urldecode

Спустя 3 минуты, 27 секунд (27.03.2012 - 20:44) twin написал(а):
Цитата (eurobax @ 27.03.2012 - 07:14)
Сейчас как раз занимался этим вопросом.. Да что у нас, сервер не может кириллицу в именах файлов хранить? Покажите мне этот редкий сервер.


Можно и микроскопом гвоздь забить.

Цитата
Поступил в своем проекте так:
1. все скрипты в utf-8
2. имена файлов создаю в windows 1251 (кириллица)
3. при закачке и перед скачкой файла делаю преобразование кодировки имени файла
Ну вот, о чем я и говорил. Началось извращение. Потом еще куча всплывет неприятностей.

Спустя 44 минуты, 4 секунды (27.03.2012 - 21:28) eurobax написал(а):
Цитата (cln2008 @ 27.03.2012 - 17:41)
eurobax, с закачкой на сервер как раз проблем нет ...
проблема была - есть ссылка на странице
<a href='файл на русском языке.doc'></a>
и когда клацаешь по ссылке, браузер не открывает файл по ссылке.

Но проблема решена - помогла функция urldecode

Чтож, ясно. Вам нужна только прямая ссылка на файл.

Мне нужно было работать с залитыми файлами на php (файловый менеджер). Плюс еще - FTP-доступ к папке, где легко заливаются и сливаются файлы в кириллице.

При скачке приходится просто отдавать файл самим скриптом, в ответ на utf-имя подсовывать win1251-файл с диска. Для небольших офисных файлов это решение вполне подошло.

Других вариантов прозрачного решения с кириллицей в именах файлов я не нашел, видимо и нет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.