私の名前をユーザー名として使用したいのですが、「ä」という文字が含まれています。私が見つけたこのスレッド。
ここで、一部の文字が無効になる理由を理解します。ところで「ä」はどうですか?このキャラクターが問題を起こしますか?
フルネームで使用すると、特定のUnicode文字(ü、õ、ö、ä)が無効になるのはなぜですか?
答え1
以前の現代システム(完全なUnicodeサポート)、してはいけない質問をしてください - 「すべきではない」を強調してください。この回答で引用したように、
デフォルトは
NAME_REGEX="^[a-z][-a-z0-9]*\$"
これは、現在のシステムに比べて制限が厳しいかもしれませんが、管理が容易になります。これは「心配することが1つ減る」と同じです。ユーザー名は複数の場所で使用されます。たとえば、ホームディレクトリは次のようになります。/home/username
ほとんどの通常のファイルシステムは完全なUnicodeをサポートしていますが、コンピュータに関連するすべての場合と同様に、健全性を保証することはできません。
システムが使用する実際のログイン名(この規則の範囲に属する)は、/etc/passwd
)のUIDにマップされます。
対処方法:該当する場合は、ユーザー名に発音区別記号なし(またはラテン語以外のスクリプトの場合はローマ字)を使用し、フルネームには実際の形式を使用します。 /etc/passwd のエントリは次のようになります。
martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash
答え2
非ASCIIログインの使用は通常サポートされておらず、問題が発生する可能性があるように聞こえます。 UTF-8は事実上の標準エンコーディングになっていますが、まだ他のエンコーディングを使用している人が多いです(特に、人々が長い間互換性のない8ビットまたは16ビットエンコーディングを使用してきた英語圏の国外ではさらにそうです)。たとえば、ユーザー名を現在のロケールのエンコーディングに変換するのではなく(試行する)、現在のロケールのエンコーディングに従って解釈しようとするアプリケーションにアクセスできます。あなたのログイン名はEメールアドレスの左側でもあります。これは、選択したエンコーディングをサポートし、尊重するためにメッセージが通過するすべてのシステムに依存しているため、問題を引き起こす可能性が高くなります。
ログイン名はコンピュータ用です。ログインにASCIIを使用します。そのフルネームは人間のために設計されています。名前にUTF-8を使用してください。
答え3
最後の質問は、答える最も簡単な質問です。遺産、実用性、単純性(開発者の場合)および移植性(慈善活動を望む場合)、または後進性、非実用性(ユーザーの場合)、無知および非移植性(望ましくない場合)を加える。US-ASCII古代から(ウェブが出現する前、若者のために)ほとんどどこでも使用されてきた文字セットです。
多くのアプリケーションには、英語のキーボードで見ることができる以外に、文字の基本的なサポート機能はありません(時にはサポートされません)。つまり、ソフトウェアがそれをサポートすることもサポートしない場合もあり、予期しない結果のみを期待することができます。