PowerShellコンソール上でgit logの日本語が文字化けする件について調べてみた
gitリポジトリへのコミットログをUTF8とし、PowerShellコンソール上でコミットログを表示すると文字化けする。
PS C:\repo> git log ⇒文字化け
コマンドプロンプト上でコミットログを表示しても同じく文字化けする。
C:\repo> git log ⇒文字化け
UTF8をSJISに変換してやればよいはずなので、nkfを使用してみたところ、コマンドプロンプトでは正しく表示できたが、PowerShellコンソールでは文字化けしてしまった。
nkfで入力文字コードを調べたところ、以下のような結果だった。
PS C:\repo> git log | nkf32 -g ASCII
C:\repo>git log | nkf32 -g UTF-8
以下のコマンドを記入したbatファイルを作成してPowerShell上で実行したら、日本語が正しく表示された。
git log | nkf32
PowerShellのパイプラインあたりに何かがありそう。
端末作業環境設定
git-bashの設定
vi ~/.profile . ~/.bashrc vi ~/.bashrc alias ls='ls --color=auto --show-control-chars' alias la='ls -a' alias ll='ls -l' alias l='ls -CF' alias vi='vim' export LANG=ja_JP.utf-8
gitの設定
git config --global user.name "TAKAMATSU,Makoto" git config --global user.email メールアドレス git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global core.autocrlf false git config --global core.pager 'nkf32 | less' git config --global gui.encoding = utf-8 git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-8
PowerShellの設定
PowerShellコンソールからgit-bashを起動すると、カラー設定がコンソールの背景色と相性悪くて見づらい。以下の設定でPowerShellコンソールの背景色を黒に変更できる。
vi $PROFILE.CurrentProfile $Host.UI.RawUI.BackgroundColor="Black"
上のコマンドでの設定変更では文字表示部分だけにしか反映されない。cls実行するとコンソール全体に色設定変更が反映されるけど、起動スクリプトにclsはなんとなく書きたくないし。表示クリアせずに色設定変更を反映させる方法はないものか。
ちなみに色設定に使用できる文字列は以下のコマンドで一覧表示できる。
[System.ConsoleColor].GetEnumValues()
今日買ってきた本
![Software Design (ソフトウェア デザイン) 2011年 09月号 [雑誌] Software Design (ソフトウェア デザイン) 2011年 09月号 [雑誌]](https://images-fe.ssl-images-amazon.com/images/I/511PNEugq1L._SL160_.jpg)
Software Design (ソフトウェア デザイン) 2011年 09月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2011/08/18
- メディア: 雑誌
- 購入: 1人 クリック: 186回
- この商品を含むブログ (10件) を見る
今日買ってきた本
![プログラマが知るべき97のこと プログラマが知るべき97のこと](https://images-fe.ssl-images-amazon.com/images/I/511RPej0BNL._SL160_.jpg)
- 作者: 和田卓人,Kevlin Henney,夏目大
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/18
- メディア: 単行本(ソフトカバー)
- 購入: 58人 クリック: 2,107回
- この商品を含むブログ (350件) を見る
![システム障害はなぜ二度起きたか みずほ、12年の教訓 システム障害はなぜ二度起きたか みずほ、12年の教訓](https://images-fe.ssl-images-amazon.com/images/I/51BmApeeoNL._SL160_.jpg)
- 作者: 日経コンピュータ
- 出版社/メーカー: 日経BP
- 発売日: 2011/07/28
- メディア: 単行本
- 購入: 2人 クリック: 466回
- この商品を含むブログ (18件) を見る
今日買ってきた本
![7つの言語 7つの世界 7つの言語 7つの世界](https://images-fe.ssl-images-amazon.com/images/I/51RCHbILAFL._SL160_.jpg)
- 作者: Bruce A. Tate,まつもとゆきひろ,田和勝
- 出版社/メーカー: オーム社
- 発売日: 2011/07/23
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 230回
- この商品を含むブログ (65件) を見る
![アジャイルサムライ−達人開発者への道− アジャイルサムライ−達人開発者への道−](https://images-fe.ssl-images-amazon.com/images/I/51flKufOVUL._SL160_.jpg)
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (257件) を見る
![ネットワークトラブル対応 徹底解説 ネットワークトラブル対応 徹底解説](https://images-fe.ssl-images-amazon.com/images/I/51SjEeJm6EL._SL160_.jpg)
- 作者: 富士通認定プロフェッショナル,ITアーキテクト,日経コミュニケーション
- 出版社/メーカー: 日経BP社
- 発売日: 2011/03/31
- メディア: 単行本
- 購入: 1人 クリック: 13回
- この商品を含むブログ (5件) を見る
![独習 TCP/IP IPv6対応 独習 TCP/IP IPv6対応](https://images-fe.ssl-images-amazon.com/images/I/51V6GWl6AgL._SL160_.jpg)
- 作者: 宇野俊夫
- 出版社/メーカー: 翔泳社
- 発売日: 2010/11/02
- メディア: 大型本
- 購入: 1人 クリック: 17回
- この商品を含むブログ (4件) を見る
![パケットキャプチャ実践技術―Wiresharkによるパケット解析 応用編 パケットキャプチャ実践技術―Wiresharkによるパケット解析 応用編](https://images-fe.ssl-images-amazon.com/images/I/5159MSZAraL._SL160_.jpg)
パケットキャプチャ実践技術―Wiresharkによるパケット解析 応用編
- 作者: 竹下恵
- 出版社/メーカー: リックテレコム
- 発売日: 2009/01/01
- メディア: 単行本
- 購入: 8人 クリック: 81回
- この商品を含むブログ (8件) を見る
PowerShellからsqliteを使用する
sqliteの.NET用ライブラリをダウンロードしてくる。
http://www.sqlite.org/download.html
- Precompiled Binaries for 32-bit Windows (.NET Framework 4.0)
- sqlite-netFx40-binary-Win32-2010-1.0.74.0.zip
PowerShellが使用する.NET Frameworkのバージョンを4に変更する。PowerShellを管理者モードで起動して、以下のコマンドを実行する。
@' <?xml version ="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true" > <supportedRuntime version="v4.0.30319" /> </startup> <runtime> <loadFromRemoteSources enabled="true"/> </runtime> </configuration> '@ | Out-File "${PSHOME}\powershell.exe.config" -Encoding ASCII
バージョン確認
$assemblies = [AppDomain]::CurrentDomain.GetAssemblies() $assemblies | ?{$_.GetName().Name -like "System"} GAC Version Location --- ------- -------- True v4.0.30319 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
sqliteライブラリの動作確認
[void][System.Reflection.Assembly]::LoadFile("C:\Tools\sqlite\System.Data.SQLite.dll") $sqlite = New-Object System.Data.SQLite.SQLiteConnection $sqlite.ConnectionString = "Data Source = C:\Tools\sqlite\data.db" $sqlite.Open() $cmd = @" CREATE TABLE hoge ( id INTEGER, name VARCHAR(20) ) "@ $sqlcmd = New-Object System.Data.SQLite.SQLiteCommand $sqlcmd.Connection = $sqlite $sqlcmd.CommandText = $cmd $sqlcmd.ExecuteNonQuery() $sqlite.Close()
今日買ってきた本
![アート・オブ・コミュニティ ―「貢献したい気持ち」を繋げて成果を導くには (THEORY/IN/PRACTICE) アート・オブ・コミュニティ ―「貢献したい気持ち」を繋げて成果を導くには (THEORY/IN/PRACTICE)](https://images-fe.ssl-images-amazon.com/images/I/511FfWvDWpL._SL160_.jpg)
アート・オブ・コミュニティ ―「貢献したい気持ち」を繋げて成果を導くには (THEORY/IN/PRACTICE)
- 作者: Jono Bacon,渋川よしき
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/05/26
- メディア: 大型本
- 購入: 38人 クリック: 1,022回
- この商品を含むブログ (31件) を見る
![Software Design (ソフトウェア デザイン) 2011年 08月号 [雑誌] Software Design (ソフトウェア デザイン) 2011年 08月号 [雑誌]](https://images-fe.ssl-images-amazon.com/images/I/514z4P%2B288L._SL160_.jpg)
Software Design (ソフトウェア デザイン) 2011年 08月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/16
- メディア: 雑誌
- 購入: 1人 クリック: 93回
- この商品を含むブログ (10件) を見る