2016-03-23 14 views
4

バッチスクリプトで "æ"という文字が含まれているフォルダにリンクする必要があります。ASCII以外の文字を含むバッチファイル

私はスクリプトを実行すると問題に遭遇します。コマンドプロンプトは、ASCII以外の文字を誤って読み込みます。私はANSIとUnicodeの両方としてファイルを保存しようとしました。コンソールウィンドウにデフォルトで使用ANSIユニコードかあり

echo øl 
+2

ええと、私はこれを修正する方法を知っていますが、私は適切な答えのためにそれの背後にある力学を十分に知りません。基本的に、 'æ'を' ''(これはALT + 0145です)に置き換えてください。 – SomethingDark

答えて

4

:私はここに、最小限の例ですWindowsの  7.

を実行していますよ。デフォルトでは、Windowsはコンソール用にOEMコードページを使用します。

いずれのOEMコードページが使用されるかは、Windowsの地域と言語の設定によって異なります。米国およびカナダの場合、デフォルトのOEMコードページは437、西ヨーロッパ諸国のデフォルトコードページは850です。

米国、カナダおよび西ヨーロッパ諸国では​​、GUIウィンドウのUnicode以外のコードページはWindows-1252です。

文字æは、コードページWindows-1252およびUnicodeテーブルに10進コード値(16進数E6)があります。しかし、OEMコードページ437と850では、この文字の小数点コードの値は(16進数91)です。

SomethingDarkで提案された方法でこの文字をバッチファイルに挿入するか、適切なOEMコードページを使用してテキストエディタでバッチファイルを直接編集する必要があります。

私はテキストファイルの編集にUltraEditを使用しています。私は、拡張BATとCMDを持つファイルに対してシステム(コードページ850私の場合)で定義されたOEMコードページを使用してUltraEditを自動的に構成し、他のすべての非Unicodeテキストファイル(GUIページ1252私の場合)。 UltraEditは、ブラウザなどでコピーしたテキストをバッチファイルに貼り付ける際に、UnicodeまたはWindows-1252からOEMコードページ850に必要な変換も行います。 UltraEditはOEMエンコード文字を850から1252に変換し、選択したテキストをバッチファイルでクリップボードにコピーする際にUnicodeを変換します。

コンソールウィンドウでお使いのマシンで使用されているOEMコードページを確認するには、コマンドプロンプトウィンドウを開き、コマンドchcpまたはmode conのいずれかを実行します。

関連する問題