Unicode (utf-8) with git-bash

前端 未结 6 1037
青春惊慌失措
青春惊慌失措 2020-12-02 12:30

I\'m having some trouble getting unicode to work for git-bash (on windows 7). I have tried many things without success. Although, I\'m not quite sure what is responsible to

6条回答
  •  忘掉有多难
    2020-12-02 12:50

    I can see that there are some problems with character encoding with git bash for windows. Less for the work with git itself and the tools it ships with (curl, cat, grep etc.). I didn't run into problems with these over the years character encoding related.

    Normally with each new version problems get better resolved. E.g. with the version from a year ago, I couldn't enter characters like "ä" into the shell, so it was not possible to write

    echo "ä"
    

    To quickly test if UTF-8 is supported and at which level. A workaround is to write the byte-sequences octal:

    $ echo -e "\0303\0244"
    ä
    

    Still issues I do have when I execute my windows php.exe binary to output text:

    $ php -r 'echo "\xC3\xA4";'
    ä
    

    This does not give the the "ä" in the terminal, but it outputs "├ñ" instead. The workaround I have for that is, that I wrap the php command in a bash-script that processes the output through cat:

    #!/bin/bash
    
    { php.exe "$@" 2>&1 1>&3 | cat 1>&2; } 3>&1 | cat
    

    ref. reg. stdout + stderr cat

    This magically then makes php working again:

    $ php -r 'echo "\xC3\xA4";'
    ä
    

    Applies to

    $ git --version
    git version 1.9.4.msysgit.1
    

    I must admit I miss deeper understanding why this is all the way it is. But I'm finally happy that I found a workaround to use php in git bash with UTF-8 support.

提交回复
热议问题