PHP:如何创建unicode文件名
发布时间:2020-12-13 18:06:32 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试在文件名中创建带有Unicode字符的文件.我不太清楚我应该使用什么编码,或者它是否可能. 我有这个文件,以latin1编码保存: $h = fopen("unicode_a??.txt",'w');fclose($h); 在UTF-8中,这将解码为’unicode_?.txt’.它将latin1版本写入磁盘(很明显?)
我正在尝试在文件名中创建带有Unicode字符的文件.我不太清楚我应该使用什么编码,或者它是否可能.
我有这个文件,以latin1编码保存: $h = fopen("unicode_a??.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的字节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |