Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение кодировки системы 
:(
    Опции темы
Honoo
Дата 8.4.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.12.2007

Репутация: нет
Всего: нет



Доброе время суток!

Подскажите, пожалуйста, как определить кодировку системы?

Проблема в том, что сервер работает в отличной от сестемной кодировке и при выполнении file_exists() возвращается не правильный результат.
Если, например, система в cp1251, а страница в utf-8 и в file_exits() передать параметр в utf-8, то функция сработает не правильно в случает, если название содержит кириллицу.

Заранее благодарен.

Это сообщение отредактировал(а) Honoo - 8.4.2008, 09:23
PM MAIL   Вверх
mishaSL
Дата 8.4.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(Honoo @  8.4.2008,  09:18 Найти цитируемый пост)
если название содержит кириллицу.

Не нужно в названиях директорий и файлов использовать кириллицу.



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Honoo
Дата 8.4.2008, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.12.2007

Репутация: нет
Всего: нет



Но это не выход в моем случае.

На той страничке пользователь должен закачивать файл на сервер. И пользователь не вникает надо переименовывать в латиницу или не надо, он просто тупо выбирает файл и закачивает.
PM MAIL   Вверх
mishaSL
Дата 8.4.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Honoo, в данном случае необходимо делать следующим образом:
При сохранении загруженного файла автоматически его переименовываешь (можны различные варианты: случайтое число; дата+случайное число;  автоматическая транслитерация русских символов). Еще не забывай проверять на уже существование этого файла, т.к. если ты не переименовываешь файл и не проверяешь, а записываешь "как есть", то файлы с одинаковыми именами будут перезаписываться.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Honoo
Дата 8.4.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.12.2007

Репутация: нет
Всего: нет



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

В Linux можно узнать кодировку выполнив exec('local'). В windows так и не нашел пока ничего.

Я хотел сделать так:
1. Узнать кодировку системы
2. Выполнять iconv() переменной, которая хранит путь к файлу.
3. И дальше уже выполнять необходиме операции file_exists(), is_file() и т.д.
PM MAIL   Вверх
mishaSL
Дата 8.4.2008, 11:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(Honoo @  8.4.2008,  10:31 Найти цитируемый пост)
В windows так и не нашел пока ничего.

http://ru.wikipedia.org/wiki/CP1251
Код

Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows.


Но всеже, ИМХО, это не лучший вариант.

Добавлено через 2 минуты и 13 секунд
Honoo, если так важно название файла, то храни ссылки на эти файлы в БД, отдельно название, отдельно ссылка на файл.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.