0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSLの文字コードの扱いについて

Posted at

概要

WSLを使った場合の文字コードの扱いがわかりにくかったので、試してみた結果をメモとして残します。

要点

  • WSLのコンソール出力は、UTF-8のみが正しく表示される。(呼び出し側のコマンドウィンドウのコードページに変換されて表示される。)
  • リダイレクトした結果にはlocaleが反映される。

具体例

  • SJISを指定したコンソール出力は文字化けする。

    >wsl LANG=ja_JP.sjis date
    2020N 11 23 j 13:59:46 JST
    
  • utf8を指定したコンソール出力は正常。

    >wsl LANG=ja_JP.utf8 date
    11月 23日 月曜日 14:01:23 JST
    
  • SJISをリダイレクトした結果はSJIS。

    >wsl LANG=ja_JP.sjis date >datesj.txt
    >type datesj.txt
    2020年 11月 23日 月曜日 14:03:25 JST
    
  • WSLを有効化した直後のlocaleはLANG=C.utf8ですが、その状態でもUTF-8の日本語がコンソールに出力されます。

  • >wsl LANG=ja_JP.utf8 date >dateu8.txt
    >wsl LANG=C.utf8 cat dateu8.txt
    2020年 11月 23日 月曜日 14:08:34 JST
    

注意点・補足

  • Windows 10 Home 1909で確認した結果です。
  • デフォルトのLANGの設定はwsl locale
    で確認できます。
  • WSLのLANGのデフォルトをsudo update-locale LANG=ja_JP.SJISなどと変更しても、コンソール出力はUTF-8のままなのでWSLでSJISを処理した結果のコンソール表示が文字化けする現象は回避できません。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?