牢獄機械文書群 目次 » 計算機 » 現在地
system() の戻り値を iconv で変換する
2012-05-17 00:52

Windows XP で、 cmd.exe の文字コード(標準で shift-jis = cp932)と gvim の文字コードが一致しないとき、system() の戻り値表示が文字化けする。

なので戻り値を iconv (コンバータ。Kaoriya版では標準で付属)で変換する。


たとえば dir でカレントドライブのファイルすべてをワイド形式で一覧する場合は

echo iconv(system('dir /a /q /d /s \'), 'cp932', &encoding)

function 化すると以下。

function! SystemC(cmd)
	return iconv(system(a:cmd), 'cp932', &encoding)
endfunction
« もどる
inserted by FC2 system