GnuPG について (4)' Windows 版の設定の補足

*NIX 系の OS も合わせて使う人には誤解があるかも知れないので、環境変数の設定について補足しておく。
ソースをさらっと眺めて確認したのだが、Windows 用の GnuPG では 環境変数 LANG の値は基本的に参照していない。LC_ALL なども同様である。

Windows 用の GnuPG では、環境変数 LANG を調べる代わりに、Windows の API をコールしている。
コールされているのは GetACP() という API でこれは、Windows のシステムのコードページを返す。日本語 Windows の場合、932 となる。
これにより、ファイル名などで文字コード変換が必要な場合には、文字コード CP932 が使用されることになる(GnuPG 内部では UTF8 が使用されている)。
文字コードに何らかの影響を与えようとして、環境変数 LANG を指定しても意味はないということである。

やや紛らわしいが、GnuGP が出力するメッセージの文字コードを変更するために、環境変数 LANGUAGE は参照されている。
試しに
set LANGUAGE=ro
などとやると、コンソールに表示される文字が化け化けになる。多分ロシア語なのだろう。
それでもファイル名などは、日本語 Windows を使用している限りは CP932 として扱われる点に違いはない。
環境変数 LANGUAGE で変更できるのは、あくまでコンソールに表示するメッセージの文字コードだけである。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

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