Search code examples
windowsbatch-filecmdconsole-output

Show characters with accents in redirect file (>output.txt)


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


Solution

  • 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