PHP mkdir() - проблемы с созданием папки в Unicode
От: Untitled001  
Дата: 15.03.09 13:49
Оценка:
Добрый день

Есть проблема такая:
Сервер — Windows 2003 Server

От пользователя приходит имя папки в кодировке UTF-8, необходимо папку создать. Если создавать папку через mkdir() без перекодировки, папка создается, но с закорючками. Оно и понятно — файловая система windows работает не на utf-8.
В сети удалось найти советы о том, что надо давать имя папки в UCS-2 (UTF-16), соответственно делаю:

$dir = iconv("UTF-8", "UCS-2", $dir);
mkdir($dir);


Но тоже создается некорректно. Пробовал так же UTF-16LE, UTF-16BE, результата нет.

Помогите пожалуйста!
Re: PHP mkdir() - проблемы с созданием папки в Unicode
От: Аноним  
Дата: 13.07.09 03:01
Оценка:
Здравствуйте, Untitled001, Вы писали:

U>Добрый день


U>Есть проблема такая:

U>Сервер — Windows 2003 Server

U>От пользователя приходит имя папки в кодировке UTF-8, необходимо папку создать. Если создавать папку через mkdir() без перекодировки, папка создается, но с закорючками. Оно и понятно — файловая система windows работает не на utf-8.

U>В сети удалось найти советы о том, что надо давать имя папки в UCS-2 (UTF-16), соответственно делаю:

U>
U>$dir = iconv("UTF-8", "UCS-2", $dir);
U>mkdir($dir);
U>


U>Но тоже создается некорректно. Пробовал так же UTF-16LE, UTF-16BE, результата нет.


U>Помогите пожалуйста!


Кодовая страница 866, т.е. "CP866"
Re: PHP mkdir() - проблемы с созданием папки в Unicode
От: AxelFoley  
Дата: 13.07.09 03:08
Оценка:
Здравствуйте, Untitled001, Вы писали:

U>Добрый день


U>Есть проблема такая:

U>Сервер — Windows 2003 Server

U>От пользователя приходит имя папки в кодировке UTF-8, необходимо папку создать. Если создавать папку через mkdir() без перекодировки, папка создается, но с закорючками. Оно и понятно — файловая система windows работает не на utf-8.

U>В сети удалось найти советы о том, что надо давать имя папки в UCS-2 (UTF-16), соответственно делаю:

U>
U>$dir = iconv("UTF-8", "UCS-2", $dir);
U>mkdir($dir);
U>


U>Но тоже создается некорректно. Пробовал так же UTF-16LE, UTF-16BE, результата нет.


U>Помогите пожалуйста!


Скорее всего, вам нужна старая кодировка "CP866"
Re[2]: PHP mkdir() - проблемы с созданием папки в Unicode
От: AxelFoley  
Дата: 13.07.09 03:23
Оценка:
Нет, пардон я перепутал с другой проблемой (библиотека PCLZip как раз CP866), в вашем случае CP1251
Re[3]: PHP mkdir() - проблемы с созданием папки в Unicode
От: Untitled001  
Дата: 05.08.09 08:34
Оценка:
AxelFoley wrote:

> Нет, пардон я перепутал с другой проблемой (библиотека PCLZip как раз

> CP866), в вашем случае CP1251

Насколько я понимаю, с CP1251 я смогу использовать только латинские и
кириллические символы... Что делать с юникодом — непонятно...
Posted via RSDN NNTP Server 2.1 beta
Re: PHP mkdir() - проблемы с созданием папки в Unicode
От: marx paul Германия Провести онлайн-опрос
Дата: 05.08.09 09:43
Оценка:
Здравствуйте, Untitled001, Вы писали:

U>Добрый день


U>Есть проблема такая:

U>Сервер — Windows 2003 Server

U>От пользователя приходит имя папки в кодировке UTF-8, необходимо папку создать. Если создавать папку через mkdir() без перекодировки, папка создается, но с закорючками. Оно и понятно — файловая система windows работает не на utf-8.

U>В сети удалось найти советы о том, что надо давать имя папки в UCS-2 (UTF-16), соответственно делаю:

U>
U>$dir = iconv("UTF-8", "UCS-2", $dir);
U>mkdir($dir);
U>


U>Но тоже создается некорректно. Пробовал так же UTF-16LE, UTF-16BE, результата нет.


U>Помогите пожалуйста!


$dir = utf8_decode($dir);
mkdir($dir);


должно работать.
Провести онлайн-опрос
Online-Umfrage erstellen
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.