2009年11月07日

UTF-8な文字列出力をWindowsのコマンドプロンプトで確認する『恐らく一番現実的な』方法

TwitterAPIを叩いて遊んでみた。Twitter APIの返す文字列はUTF-8なので、そのまま標準出力に吐いても、デフォルトの文字コードがcp932(Shift JIS)なWindowsのコマンドプロンプトでは、ものの見事に化けてしまう。一度ファイルにリダイレクトして、それを適当なテキストエディタで開けば読む事は出来るが、少々手間だ。めんどくさい。

じゃあコマンドプロンプトでUTF-8を表示する事は出来ないのかと探してみたら、CHCPコマンドを使えばいいと言う情報が出て来た。例えば、コマンドプロンプトで文字コードがUTF-8のテキストを表示する - KUMA TYPE。ただしこの方法だと、(リンク先の記事でも書かれているが)表示が崩れてしまう。これはよろしくない。

Cygwinの次期バージョンである1.7はUTF-8に対応する予定らしいが、公式ページにThe official 1.7.1 release should go public in late October or early November 2009.なんて書かれてあったら、今更βを導入しようなんて気も消え失せようというものだ。

では他に方法はないのか。やはりリダイレクトとエディタかめんどくさいコマンドプロンプトなんて死んじゃえばいいのに、と悶々としていたら、ふとひらめいた。

nkf使えばいいんじゃないか。

コマンドプロンプトでのUTF-8文字列の表示例(通常に出力した場合)試してみると、この様に化け化けだったのが……

コマンドプロンプトでのUTF-8文字列の表示例(nkfにパイプした場合)化けずに表示された。素晴らしい!

つまり、UTF-8な文字列を返すプログラムSOME_UTF8_OUTPUTが在るとすると……

SOME_UTF8_OUTPUT | nkf -s

……とすればいいことになる。

まぁいちいちパイプ処理書くのは面倒だけど、リダイレクトしてエディタで確認するのに比べたら万倍ぐらいマシだろう。なんなら確認用バッチファイルを用意するなり、DOSKEYでエイリアスを設定するなりすれば良いだろうし。

タグ:nkf utf-8 Windows CUI CMD
posted by 天井冴太 at 03:24 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

コメント欄右下をドラッグ&ドロップすると、コメント欄の拡大縮小が出来ます。
認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック