Eve*_*ert 8 php filesystems unicode
我需要使用PHP在文件系统上保存带有非拉丁文件名的文件.
我想让这项工作跨平台.我怎么知道我可以使用什么编码来编写文件?我知道许多现代文件系统都是基于UTF-8(这是正确的吗?),但我怀疑Windows XP(例如).
那么,是否有一个强大的检测机制?
不是你的问题的答案,但如果你不需要在文件系统级别(如搜索,排序......)上进行大量操作,那么这个SO问题中概述的问题有一个很好的跨平台解决方法:URLEncode()文件名.
Hörensägen.txt
Run Code Online (Sandbox Code Playgroud)
变成了
H%c3%b6rens%c3%a4gen.txt
Run Code Online (Sandbox Code Playgroud)
这应该是安全的在任何文件系统中使用,并能够映射任何UTF-8字符.
我发现这比尝试"本地"处理主机操作系统的功能要好得多,这保证是复杂且容易出错的(除了操作系统的差异,我确定各种文件系统格式 - FAT16,FAT32,NTFS ,extFS版本1/2/3 ....带来他们自己的一套规则要注意.)
| 归档时间: |
|
| 查看次数: |
2612 次 |
| 最近记录: |