公式配布のMinGW版Gaucheは内部エンコーディングがUTF-8としてビルドされている。OSやロケールに依存しないという点でUTF-8は扱いやすいんだけど、WindowsのコマンドプロンプトはSJISを前提としているため以下のシンプルなプログラムでも文字化けしてしまう。 (print "こんにちは、世界") 解決方法としてはコマンドプロンプトをUTF-8にする方法がある。ただ、これをやるとこんどは日本語入力がしづらくなってしまう。 というわけで、プログラム側でSJISに変換して出力するようにしてみた。 sjis.scm (use gauche.charconv) (define-macro (sjis . body) `(with-ports (wrap-with-input-conversion (current-input-port) "shift_jis") (wrap-with