https://qiita.com/reika_i/items/cd11ffdf23a3f68b5ebc 最初にはじめまして。今回ご相談したいことは、Git for Windowsの日本語文字化けの解決方法です。 困っていること(1)GitHubのリモートリポジトリに、txtファイルをPushします。⇒ このtxtファイルの中身は以下になります。 問題. RubyでWindows PowerShell使用して、下記のように文字化けをしてしまいます。 puts "日本語を入力すると#{gets}" ↓ 出力結果 日本語を入力すると RubyInstaller for Windows (Ruby+Devkit 2.6.5-1 (x64) ) インストール時に「Use UTF-8 as default external encoding」 | GitはLinuxカーネルを管理するために作られたので文字コードについてはUTF-8であることが前提となっているそうです。 補足. 初期状態だと git log などで日本語の表示がおかしくなる。 文字化けというか、バイト値が 16 進数表記で連なる感じ。 git config --global core.pager "LESSCHARSET=utf-8 less" という感じで、config の core.pager を 「LESSCHARSET=utf-8 less」 に設定すれば良さそう。 PowerShellでは扱う文字コードを常に意識しておくと"罠"を回避できます。 2. https://ladybug.hatenadiary.org/entry/20111203/p1, ./?PowerShell/%E6%97%A5%E6%9C%AC%E8%AA%9E/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E5%85%A5%E5%87%BA%E5%8A%9B%E3%81%8C%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%99%E3%82%8B, https://dobon.net/vb/dotnet/string/getencodingobject.html, ミドルウェア/Docker/インストール/Docker Composeインストール - Ubuntu, Docker/インストール/Docker Compose インストール - Ubuntu, Linux/パッケージ/Debian/インストール済みのパッケージがどのリポジトリからなのか調べる, Windows/WSL/ファイルシステム/WindowsからWSLへアクセスできるようにシムリンクを作成する, Windows-アプリケーション/ripgrep/ドットファイルや.gitignoreなファイルも対象にする, PowerShell/環境情報/今のシェルがPowerShellなのかCMDなのか判別する, Windows-アプリケーション/VSCode/SSH/Git for WindowsのSSHを使う, Windows/WSL/ファイルシステム/Windows上のファイルにWSL2からアクセスすると遅い, ウェブ開発全般/Firebase/トラブル/Error HTTP Error 400, Billing account for project is not found, SJISとUTF16の変換は自動で行われ、PowerShellなコマンドだけを使うなら通常は問題ない, Linux由来のコマンドは入出力は通常はUTF8(またはUS-ASCII)が想定されている, そのためコマンドレットと非PowerShellなコマンドを混ぜて使うとエンコーディングが違って文字化けすることがある, これを解決するには、(1)非PowerShellなコマンドのエンコーディングを変更するか、(2)PowerShellのエンコーディングを変更するか、どちらか, 非PowerShellなコマンドはエンコーディングが固定になっていることが多いので、ここでは(2)のPowerShellのエンコーディングを変更して問題を解決する, (2)はclip.exeがUTF16に対応してないので、クリップボードには文字化けした文字列が入っている, (ちなみにclip.exeは文字列をクリップボードにペーストすると昔からWindowsにあるコマンド), (1)のように$outputEncodingをSJISに指定するとPowerShellの出力がSJISになるので、clip.exeが文字列を読み込めるようになる, (1)でPowerShellの出力をUTF8にしたので、(3)で|からUTF8が出力されて、jq.exeはJSONをパースできている, なお、1.jsonファイルがBOMなしのUTF8の場合はgc(Get-Content)がエンコーディングを自動判定できないので、-Encoding utf8でエンコーディングを明示する, しかし、(1)のようにjq.exeの出力をPowerShellのSelect-Stringに渡すと、(2)のようにマッチに失敗する, (jq.exeがBOMなしのUTF8を出力していて、|がそれを認識できないから?), これを解決するには(3)のようにPowerShellの入力をUTF8にしてから、(4)のようにSelect-Stringに渡すと、(5)のようにマッチに成功する, Linuxのコマンドはパイプでつなげて使うが、パイプからは文字列が来る想定で設計されている(文字列はバイト列扱いで何も処理されない), 一方で、PowerShellのコマンドはパイプからオブジェクトが来る想定で設計されている(文字列は文字列オブジェクトに変換処理される), したがって、PowerShellをPowerShellらしく使いたいなら、オブジェクトを処理できないコマンド(=Linux由来のコマンド)は使わない方がいい. PowerShellの出力エンコーディングをSJISへ変更する PS> Get-Date (1) 2020年5月6日 17:42:00 PS> Get-Date | clip.exe (2) (1)は化けずにそのままコンソールに出力される (2)はclip.exeがUTF16に対応してないので、クリップボードには文字化けした文字列が入っている PowerShellでgit logしたら以下のように日本語部分が文字化けしました。 Date: Fri Jun 21 15:36:50 2019 +0900 Cookie
ルパンレンジャー 動画 フリドラ 29, フォートナイト タイマン場 棺桶 31, 楽譜 無料 ダウンロード Imslp 4, Overleaf フォント 変更 5, 社会福祉協議会 寄付 表書き 41, 4wd 前後異 径 4, Jquery 次へ ボタン 7, Fire Hd 遠隔操作 10, 次の恋人 占い いつ 5, フェアリーテイル100年クエスト ネタバレ 53 7, インスタライブ アーカイブ Pc 4, ドライアイ 目薬 ヒアルロン酸 6, 黒い砂漠 2ch 晒し 58, アスタリア 攻略 メインストーリー 5, Jr東日本 総合職 倍率 23, クレイジージャーニー やらせ まとめ 8, Android 通話録音 標準 42, 東芝 Tmeic 売却 4, 2ch 過去ログ 2000年 50, 婚活 告白 保留 4, タント ドライブレコーダー リアカメラ取り付け 7, 猫 10ヶ月 体重 8,