マニュアルページとログの印刷できない文字

マニュアルページとログの印刷できない文字

マニュアルページやログなど、多くのシステムコンテキストで印刷できない文字が表示されます。強調表示された疑問符で表示されます。たとえば、マニュアルページには次の値があります。

E2 9F A8 ...email address... E2 9F A9

そして作家の名前

F r C3 A9 d C3 A9 r i c k

ここで、数値は16進値です。 Unicodeではこの値が見つからず、その値が何であるかわかりません。これをエスケープシーケンスとして処理すると、次のような結果が得られます。

M-b M-^ M-^_ M-(  ... email address ... M-b M-^_ M-)

出力を正しく翻訳するにはどうすればよいですか?私のロケールは次のように設定されています。

LANG=en_US.UTF-8

$ TERMは "linux"で、マシン自体で仮想コンソールを使用しています。

ベストアンサー1

デフォルトでは、コメントの作成者は明示的に言及していませんが、マニュアルページはUTF-8文字を使用してフォーマットされています。状況によっては修正されることがあります

  1. マンページでアメリカ英語を使いたいとしましょう。

    LC_CTYPE=C人何を確認したいのか

この動作は抑制する必要があります。履歴書を見ると、このオプションが好きです。 LC_CTYPEが設定されていない場合は、LC_CTYPEの代わりにLC_ALLを指定できます。すべての環境変数と同様に、これをシェルで設定し、すべてのコマンドに適用できます。

これを無効にするもう1つのロケールオプションはen_USです。アメリカ英語が必要ない場合は他のロケールがたくさんあり、その多くは.UTF-8を持ち、UTF-8がない場合はUTF-8を使用します。

  1. コンソールフォントに関連する文字に対するUnicodeマッピングがある場合は、マニュアル-rページに入力するだけでページャに正しい文字が表示されます。ただし、この設定にも危険がないわけではありません。表示している文書のすべての端末制御シーケンスを適用できます。マニュアルページを表示するときにこれを安全に実行する必要がありますが、信頼できないソースからファイルを表示したり、任意のデータを含むファイルを表示したりすると、コンソールがロックされたり、悪い状況が発生する可能性があります。 (コンソールに表示されるファイルがキーボードバッファに文字を入れることを可能にするいくつかのターミナルエスケープシーケンスがあり、キーボードバッファを読んだ直後に入力したように有効にします。Linux仮想制御ステーションこれらのいずれもサポートまたはサポートしません)。

LinuxディストリビューションがデフォルトでUTF-8をオフにする代わりにオンに切り替えたので、これは人々がもっと気づいていると思います。一方、Linuxコンソールはまだ512文字のフォントのみをサポートし、16色のうち半分だけ無効になっています。他のUnicode歯の問題では、X Windowsフォントは64k文字のみをサポートし、Unicodeは64kよりもはるかに多くの文字をサポートします。

おすすめ記事