我从上传文件名中带有冒号的文件的客户那里收到错误,即C:/uploads/test : doc.html
我假设某些 Unix 或 Linux 系统正在生成该文件,但我不确定用户如何使用无效的文件名保存它们。我编写了一段代码,应该在上传时重命名文档。我的问题是我无法测试它,因为我无法在 Windows 上获取文件名中有冒号的文件。
我发现了一个与冒号非常相似的字符,“꞉”它是一个 unicode 字符,称为修饰符字母冒号。这没有像全角冒号那样的空格,并且与常规冒号几乎完全相同,但符号有效。您可以从上面复制并粘贴它,也可以使用代码点U+A789
对于 Windows 文件名,冒号是无效字符。您将无法在文件名中允许“:”,但您可以解决它。
你可以做你已经做过的事情;创建一个脚本,用 UNIX 端的有效字符替换这些无效字符。或者,您可以使用文件名字符翻译在 Windows 服务器上处理此问题:http: //support.microsoft.com/kb/289627
我发现的保留字符的其他替换是
” ‹ › ⁎ ∕ ⑊ \︖ ꞉ ⏐</p>
例如在python中你会这样做:
fixed_name = orig_name.replace('\\\\','⑊')
forbidden_characters = '"*/:<>?\|'
unicode_characters = '”⁎∕꞉‹›︖\⏐'
for a, b in zip(forbidden_characters, unicode_characters):
fixed_name = fixed_name.replace(a, b)
您可以使用 CJK(中文/日文/韩文)之一
“:”
这是非常通用的。
目前,您将使用 WSL,网址获取说明:https ://docs.microsoft.com/en-us/windows/wsl/install-win10 。
然后,您可以在您的 Linux 发行版中创建一个冒号。
如何使用看起来像冒号的符号命名文件或文件夹
在下面的示例中,字体大小为 12,但符号除外,该符号设置为下标、粗体,字体大小为 16。冒号状符号的字符代码为 02F8。
下标设置的原因是将符号的位置相对于其垂直位置更低。应用粗体和更大的字体设置,以便符号在页面上更容易识别,并且在文件或文件夹名称中使用时没有影响。
示例:(C˸) 符号 – 下标、Calibri、粗体和 16 号字体。
*使用 Windows 7 和 Word 2007