我正在使用rename()将文件从一个文件夹移动到另一个文件夹。
对于没有涉及瑞典语字符的文件夹,它可以正常工作。
这有什么办法吗? (除了将文件夹名称更改为没有特殊字符的内容)
该网站完全采用utf-8格式......
答案 0 :(得分:2)
在rename()
和用户贡献笔记的手册章节中,这似乎有些灰色。没有关于应该使用什么编码的说法。无论如何,如果文件系统支持它,应该可以在文件名中使用UTF-8。
This SO question有一个非常聪明的答案可以解决这个问题。它不是100%纯种,但在大多数情况下可能是可行的。
如果您使用的字符在iso-8859-1
中也可用,您也可以尝试使用简单的utf8_decode()
。但是这个解决方案并不完整而且不完美,因为它会在地图外的角色上失败。
答案 1 :(得分:1)
使用the unicode normalize functions规范化文件路径?
filePath = unicodedata.normalize('NFD', filePath);
答案 2 :(得分:0)
这似乎是 bug ,我不确定它是否已经解决。您可以将正则表达式用于 clean file/folder names 。或者如TheGrandWazoo所指出,您可以使用 normalizer 类。