Win32版vim.exeをmintty上で実行すると文字化け #959

Closed
k-takata opened this Issue Sep 30, 2016 · 4 comments

Projects

None yet

1 participant

@k-takata
Member

質問・報告の内容

Win32版vim.exeをmintty上で実行すると、エラーメッセージが文字化けして表示されてしまいます。

本来は、"Vim: Error: This version of Vim does not run in a Cygwin terminal\n"のメッセージを翻訳したものが表示されるべきなのですが、minttyのエンコーディングがUTF-8になっているにも関わらず、vim.exeがCP932で出力するために文字化けしてしまいます。

mintty上で実行されていることを検出した際には、$LC_ALL, $LANG 等を見てエラーメッセージを出すようにする対策が必要と思われます。

Vimのバージョン

Vim 8.0.0019

OSの種類/ディストリ/バージョン

Windows 7/10

使用している or 関係していそうなプラグイン

N/A

その他

関連: vim-jp/lang-ja#63, #703

@k-takata
Member

パッチ作ってみた。(7.4.2293 での余計な修正を元に戻すのも込みで。)
https://bitbucket.org/k_takata/vim-ktakata-mq/src/96fe49fbefddd780549c3f6d55271487a49ca33e/fix-cygpty-encoding.patch?fileviewer=file-view-default
1行のエラーメッセージの文字化け解消に、50行も enc_locale() からパクってきているのがちょっと気になるところ。

@k-takata
Member

todo入り

Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.
(Ken Takata, 2016 Oct 4)
@k-takata k-takata closed this Oct 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment