Sysinternals Handle工具显示非ASCII字符为问号的问题解决或规避方法咨询
Sysinternals Handle工具显示非ASCII字符为问号的问题解决或规避方法咨询
大家好,我碰到了Sysinternals Handle工具的一个麻烦:当处理包含非ASCII符号的文件时,工具会把文件名里的非ASCII部分显示成问号?。我留意到社区里也有不少类似的问题讨论,比如Handle编码问题、俄语字符在Handle.exe中的显示异常,还有Sysinternals社区里针对Handle.exe的相关疑问。
复现场景
- 先打开一个带非ASCII字符的文件,比如
C:\test\fileфайлファイル文件.pdf,用Adobe Acrobat Reader打开来锁定它 - 在cmd.exe中执行命令:
handle64 -nobanner C:\test\fileфайлファイル文件.pdf - 输出结果里的文件名会变成
C:\test\file??????????.pdf,具体输出如下:Acrobat.exe pid: 10616 type: File 440: C:\test\file??????????.pdf - 就算把输出重定向到文件,比如执行
handle64 -nobanner C:\test\fileфайлファイル文件.pdf > 1.txt,文件内容和控制台输出完全一致。用十六进制编辑器查看后发现,这些问号是ASCII码为0x3F的实际问号,所以我判断这不是本地机器的编码设置问题。
我的问题
有没有什么方法可以修复这个问题,或者有没有可行的规避方案?
当前最佳规避方案
目前找到的最有效的解决办法是使用@NewcomerAl提供的二进制补丁,这个补丁能直接修复该编码问题。已打补丁的二进制文件可以从提供了Unicode支持的Sysinternals控制台工具的GitHub仓库获取。
备注:内容来源于stack exchange,提问作者PolarBear
相关产品推荐
相关产品推荐

