Добрый день
Есть проблема такая:
Сервер — 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, результата нет.
Помогите пожалуйста!
Здравствуйте, 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"
Здравствуйте, 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"
Нет, пардон я перепутал с другой проблемой (библиотека PCLZip как раз CP866), в вашем случае CP1251
AxelFoley wrote:
> Нет, пардон я перепутал с другой проблемой (библиотека PCLZip как раз
> CP866), в вашем случае CP1251
Насколько я понимаю, с CP1251 я смогу использовать только латинские и
кириллические символы... Что делать с юникодом — непонятно...
Posted via RSDN NNTP Server 2.1 beta
Здравствуйте, 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);
должно работать.