私は現在、コマンドラインインタプリタで再生されるJavaのテキストベースのゲームに取り組んでいます。UnicodeのJava System.out出力
問題は、デフォルトでWindowsシステムでサポートされていないコマンドラインでドイツ語のumlaute(行ü ö ä ß
)をエコーしたいということです。しかし、私は物事の束でこれを達成するための方法を見つけた:
- 私は
- (
chcp 65001
を使用して)65001
にコードページを変更し、私は私がPrintStream
を使用Console Lucida
- にフォントを変更しましたコマンド (Javaプログラム内)に印刷するためのUTF-8エンコーディング。
これを実行すると、コマンドラインでUTF-8文字を出力することができます。しかし、これはすべてのPCのデフォルト設定ではありません。
私は、バッチファイルを作成してゲームを開始することを考えました。これは、UTF-8出力を有効にする基本設定を行います。コードページを変更してUTF-8を使用する場合は、PrintStream
は問題ありませんが、フォントを変更するのは難しいことです。
フォントは、Windows XP SP2以降のすべてのWindowsにインストールする必要がありますので、問題ではありません。また、レジストリエントリを変更してフォントを変更することもできますが、これにはいくつかの特権が必要でオプションではありません。
私は周りを見つけましたが、私は見つけませんでしたfont
- コマンド。 console-fontを変更するための回避策はありますか?
私が代わりに質問に答えるの私は私を求めていますことを申し訳なく思って呼び出します。BATファイル。しかし、どのようにコードページを変更しましたか?私は個人的には、Windowsコマンドプロンプトがユニコードをサポートしていないことを確信していました。 – AlexR
私も。私はその投稿に追加しました。 –
この設定を行うにはjscript/vbscriptをチェックすることをお勧めします。これらは、ActiveXとWMI APIを呼び出すことができるほぼ完全に機能するプログラミング言語です。これらのスクリプトは、コマンドcscriptまたはwscriptを使用して実行できます。 – AlexR