加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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的字节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读