Кодировка файловой системы

Valery Shostak

Новичок
Здравствуйте.
Помогите, пожалуйста.

Из PHP нужно сохранить файл.
Но неизвестна кодировка названий файлов в файловой системе (NTFS, Windows 7).

PHP:
file_put_contents(iconv('UTF-8', '???', 'Valery.Валерий.Валéрий'), '');

Поэтому, либо не сохраняет, либо сохраняет, но имя файла нечитабельно (Valery.Валерий.Валéрий).

Если создать такой файл вручную, то проблем нет.
 
"не сохраняет" - это очень внятная и подробная информация, да.
 
А какая информация ещё нужна?
Файл не сохраняется, при error_reporting(E_ALL); никаких ошибок не выводится.
Неужели, у вас всё работает, раз у меня спрашиваете?
 
Valery Shostak
Я думаю обрывается на "Вал" из-за этого "é", т.к нет эквивалента ему в простой iconv вроде(символ представляется этот вроде 2 байтами, обычный "e" и "`"), попробуй использовать mb_*
вообщем думаю из-за этого http://ru.wikipedia.org/wiki/Диакритические_знаки
могу ошибаться...
 
ерунда.
там при виндовое приложение, а не про PHP.
ну а чем скомпиленный ПХП не виндовое приложение ? :))
Я так понял, при сборке пыха на винду опция UNICODE не включается (она нужна очень редко) соответственно используются стандартные СИшные либы, без заточки под винду
 
NTFS stores filenames in UTF16, however fopen is using ANSI (not utf8).

In order to use an UTF16-encoded file name you will need to use the Unicode versions of the file open calls. Do this by defineing UNICODE and _UNICODE in your project. Then use the CreateFile call or the wfopen call.
Во. С английским у меня, конечно, туго, но вроде смысл я понял правильно =)
 
нет эквивалента ему в простой iconv
В данном случае — это один западноевропейский символ. И его просто нет в Windows-1251, хоть iconv'ом его перекодируй, хоть mb_*.

cDLEON, общий смысл понятен. Не знаете, может, есть дополнительные библиотеки, расширяющий возможности стандартных файловых функций?
 
Valery Shostak
такая острая необходимость в сохранении файла с диакритическими знаками?преобразуйте к нормальному виду и сохраните, иначе бесполезно...
 
Если честно, с проблемой описанной вами не сталкивался. То, что запостил, нагуглил за 2 минуты. Погуглите, может быть тоже, что-нибудь найдёте..
 
Сверху