跨平台文件名乱码问题

68 天前
 shyrock

我用一台 win10 共享盘作为电影存储。 用 OpenWRT 跑下载软件,下载电影到共享盘上。

发现下载的电影,如果文件名(或者文件夹名)含中文,在 OpenWRT 中看是中文,在 win10 中看就成了乱码。 比如在 OpenWRT 中文件名是“c 租 c 司 j.1976.BD1080p.HDR.中文字幕”。 到了 win10 中就成了“c租c司j.1976.BD1080p.HDR.中文字幕”

网上早了很久,发现问题是 OpenWRT 的文件名是 utf8 编码的,但是 win10 用 iso8859-1 编码。 我用 python 写一段代码:

text = b"c租c司j.1976.BD1080p.HDR.中文字幕"

bytes_text = text.decode("UTF-8")
string = bytes_text.encode("ISO8859-1")

print(string)

可以成功消除乱码。

但是问题是,我并不想写个脚本随时运行去修改电影的名字(如何触发,如何避免修改到非 utf8 的文件名等都是问题)。 讲道理更合理的办法是让 win10 支持正确显示 utf8 的文件名,但是似乎在微软的网站没有找到合适的方法(说的是在区域的高级设置中勾选 unicode 支持的 beta 功能选项,然而并无卵用。

不知道各位有什么高招没有?

659 次点击
所在节点    程序员
2 条回复
pckillers
68 天前
既然你 win10 共享盘的机器也得跟着 openwrt 一起开机才能下载。。。 为啥不直接用 windows 的下载客户端下载?
shyrock
68 天前
@pckillers #1 OpenWRT 是家里的网关,有公网地址,p2p 下载更快,而且方便远程管理。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078905

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX