在Perl/Tk应用程序中,我想将具有任意Unicode文件名的文件拖放到小部件上。
有一个工作的DropSite示例:perl tk drag & drop folder from windows explorer,但它不适用于包含Unicode字符的文件名,例如西里尔字母与德语混合。特殊字符(不在本地代码页上)被接收为“?"。
有人有解决办法吗?
在Perl/Tk应用程序中,我想将具有任意Unicode文件名的文件拖放到小部件上。
有一个工作的DropSite示例:perl tk drag & drop folder from windows explorer,但它不适用于包含Unicode字符的文件名,例如西里尔字母与德语混合。特殊字符(不在本地代码页上)被接收为“?"。
有人有解决办法吗?
1条答案
按热度按时间ikfrs5lh1#
池上提到的微软帮助页面,如何change the Windows code page,也展示了如何更改所有Windows的代码页(不仅仅是每个应用程序):
进入Windows设置>时间和语言>语言和地区>管理语言设置>更改系统区域设置,并选中Beta:使用Unicode UTF-8以获得全球语言支持。然后重新启动PC以使更改生效。
我这样做了,它对我很好,也解决了DropSite的问题。(但你需要将接收到的字符串解码为utf8。)
因此,上述工作脚本的修改版本将是: