在 Windows 10 中cmd.exe
,如果我这样做
tree
C:.
????a
? ????b
? ????etc...
Run Code Online (Sandbox Code Playgroud)
它清楚地在控制台上正确显示了 Unicode 条形和破折号。
但是如果我将此输出重定向到一个文件
tree > tree.txt
Run Code Online (Sandbox Code Playgroud)
该文件的内容是:
C:.
³ÄÄÄa
³ ÃÄÄÄb
³ ÀÄÄÄetc...
Run Code Online (Sandbox Code Playgroud)
它无法正确写入 Unicode 字符。
它甚至无法回读它所写的内容:
tree > tree.txt
type tree.txt
C:.
????a
? ????b
? ????etc...
Run Code Online (Sandbox Code Playgroud)
(它可能在此处显示为“?”(倾斜方块中的问号)但在控制台中它们显示为空框)
我已经尝试过这些建议而没有运气:
Run Code Online (Sandbox Code Playgroud)CMD /U /c tree > tree.txt
我错误地使用了这个命令,现在已修复,但我仍然得到与刚才相同的结果tree
- 它在控制台中显示良好,但文件输出仍然是那些奇怪的字符。
奇怪的是,文本在控制台上显示得很好,但是写入文件会弄乱编码。这里可能是什么问题?