Encoding issue

  • Boris Le Ninivin

    Hi everyone,

    and first of all : thanks a lot for Console. It rocks. But I still have a couple of problems with it.

    I don't use windows a lot beside games, and I do use cmd/console even less. All I do with console is opening some ssh session and/or using git.

    And to have a git binary set along with a ssh binary (including sh and bash), I've installed the awesome msysgit. And so I don't rely on cmd anymore : I've set up Console to start sh -login -i instead of cmd.exe. This way I get everything I want, including ssh sessions, etc.

    But, everything's not fine, and I do have an encoding problem… I've not tried with git, but with ssh, (and sh, as I understand it), utf-8 characters are not correctly printed out.

    I've monitored Console + sh with process explorer, and it seems to NOT use cmd at all. But yet I've seen a ConsoleHook.dll file in the Console folder… So Console might actually use cmd, even if I configured it to not use it.
    So here comes my question : does Console use cmd in ANY case, or does it, in my case, use sh (sh.exe indeed) instead ?

    Thank you for your answers.

  • Kirill

    Kirill - 2012-01-08

    Console does not use cmd if your tab has "sh.exe" as the shell. However, sh uses a console window (the same as the one used by cmd), which is the reason Console "cannot" support 256 colors (which is not the point here :)

    There are couple possible explanations for encoding problems.
    One: wrong font is used by that console window. To fix: in Console, View > Console Window; in the opened window, System Menu > Properties > Font and choose a TrueType font. If asked to preserve for future sessions, answer Yes.

    Two: wrong code page. To fix globally, change Code Page for Non-Unicode applications on the Advanced tab of Regional and Language Settings control panel (instructions are OS-specific, please, specify your OS if you need help). To fix just for that one bash instance: execute "cmd", execute "chcp 866" (or any other cp of your choice), execute "exit" . Admittedly, it's a hard problem because console windows in Windows have troubles with UTF-xx.

    P.S. msysGit is indeed awesome!

  • Boris Le Ninivin

    Okay. I've tried it with the git bash and it gives the same results : é in UTF-8 is returned as "Ac" in current encoding (chcp returns 437). It seems that it's MinGW bash which screws : when I set up the correct encoding page (65001) in cmd, with the correct font (Lucida Console), I see the correct character. But when I ssh with this configuration, it freezes. But only with ssh, not with type in CMD, for example.


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks