Я хочу сохранить некоторые данные в файлах с именами файлов, которые будут содержать в нем символы Юникода (например, китайский, кириллический, арабский, ...) с функциями PHP file_put_contents(). Я не хочу их кодировать отдельно с чем-то вроде urlencode(), потому что ни один человек не сможет прочитать имена файлов, если они содержат только нелатинские символы. 3 крупнейших ОС Windows, MacOS/OS X и Linux поддерживают символы UTF-8 или UTF-16 в именах файлов и могут отображать их без проблем, но кажется, что это не так просто, как просто называть что-то вроде этого:PHP: file_put_contents() с именем Unicode
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . "こんにちは.txt", "");
в Windows 7 (немецкая локализация) файл сохраняется как:
ã“ã‚“ã«ã¡ã¯.txt
сам PHP файл сохраняется в UTF-8 кодировке. Существует ли единый способ сохранения файлов с unicode в имени файла в этих трех системах?
Вы видели [это] (http://stackoverflow.com/a/25395755/1459926)? –
urlify не может помочь с китайским и т. Д. Используйте iconv ('utf', 'local charset // translit', ...) или используйте объекты PHP COM. – Deadooshka
@AlexandruGuzinschi Да, но это не касается моей проблемы. – StanE