エンコーディングの問題があるAlmaLinuxサーバーがあります。たとえば、CLIに次のように入力した場合:
mkdir asdfü
ls ./
わかりました。
'asdf'$'\303\274'
この問題をどのように解決できますか?
答え1
端末はUTF-8エンコードされた入力/出力用に構成されているようですが、シェルセッションは異なる文字セットを使用するロケールにあります。ここで、バイト 0303 および 0274 (8 進数) 単独または結合は有効な文字セットを形成しません。ほとんどの場合、ロケールはC
/ POSIX
(定義されていない、または誤って定義された場合のデフォルトロケール)、文字セットはASCII(ANSI_X3.4-1968とも呼ばれます)で、バイト0303または0274(すべてのバイトの上に0177)はありません。性格。
locale charmap
そのロケールでどの文字セットが使用されているかを通知します。
locale
ロケール設定が表示されます。
少なくとも$LANG
文字セットを UTF-8 に変更し、ロケール設定と一致する必要があります。
locale -a
サーバーで使用可能なロケールのリストが提供されます。