Show characters with accents in redirect file (

2019-04-11 20:44发布

example

mode con: cp>%tmp%\output.tmp
notepad %tmp%\output.tmp

show:

Statut du p‚riph‚rique CON:
---------------------------
    Page de codesÿ:   850

instead of:

Statut du périphérique CON:
---------------------------
    Page de codes :   850

I also tried with chcp 65001 and 1252

Do you know a fix?

Edit:

I use the truetype Lucida fonts, and even if I do type %tmp%\output.tmp it shows the right characters in console, but not in any text editor.

I also tried:

cmd /U /C "chcp 65001>nul &mode con: cp>%tmp%\output.tmp"

and

cmd /A /C "chcp 65001>nul &mode con: cp>%tmp%\output.tmp"

without success

2条回答
虎瘦雄心在
2楼-- · 2019-04-11 21:18

You may use the /U switch of cmd.exe in order to output Unicode characters. For example:

cmd /U /C dir > dirInUnicode.txt

However, this switch works on internal commands only, so you must use an auxiliary file in order to convert the output of mode command:

mode con: cp>%tmp%\output1.tmp
cmd /U /C type %tmp%\output1.tmp > %tmp%\output2.tmp
查看更多
可以哭但决不认输i
3楼-- · 2019-04-11 21:29

Use PowerShell instead of DOS as a command line prompt. Its works flawlessly with special characters.

C:> powershell
PS C:> mode con: cp > temp.txt
PS C:> notepad temp.txt
查看更多
登录 后发表回答