前端之家收集整理的这篇文章主要介绍了
PHP:如何创建unicode文件名,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在
文件名中创建带有Unicode字符的
文件.我不太清楚我应该使用什么编码,或者它是否可能.
我有这个文件,以latin1编码保存:
$h = fopen("unicode_♫.txt",'w');
fclose($h);
在UTF-8中,这将解码为’unicode_♫.txt’.它将latin1版本写入磁盘(很明显?).我需要它保存,因为它会出现UTF-8解码.我也试过用UTF-16编码,但那也不行.
我正在使用PHP 5.2,并希望这与NTFS,ext3和ext4一起使用.
如何才能做到这一点?
它目前无法在Windows上完成(可能
PHP 5.4将
支持此方案).在
PHP中,您只能使用Windows set
代码页编写
文件名.如果
代码页不包含字符♫,则不能使用它.更糟糕的是,如果Windows上的
文件在其
文件名中包含此类字符,则您将无法访问它.
在Linux中,至少在ext *中,这是一个不同的故事.您可以使用您想要的任何文件名,操作系统不关心编码.因此,如果您始终使用UTF-8中的文件名,那么您应该没问题.但是,排除了UTF-16,因为文件名不能包含值为0的字节.