Posted by bzj00220 on June 14, 2021 at 2:21am
realnameというモジュールを使ってrealnameに入力した文字がそのままusernameになるようなサイトを過去に作りました。
ユーザーには法人が多く、(有)とか(株)などのように()が含まれるusernameが多数、存在しています。
問題はユーザー情報を変更しようとするとエラーが出てしまうのです。
できれば()系の文字でどんな文字が使えるか知りたいです。
私の調べた範囲では
()←ダメ(全角の丸括弧)
()←ダメ(半角の丸括弧)
❨❩←OK(機種依存文字らしい)
見た感じ、全部、同じような括弧に見えますが、違うみたいです。
どこかでusernameで使える文字の一覧表などが見られるページがあれば教えていただければ幸いです。
Comments
ソースを調べてみたのですが、D9だと https://gi
ソースを調べてみたのですが、D9だと
https://github.com/drupal/drupal/blob/7de06239cc99a3a7aa9d1efc96bc2429ee...
に定義がありました。
いわゆる半角文字の領域では a-z0-9@+_.'- とスペースが「使用可能」に見えますね。
それ以上の領域(全角文字)は基本的に全部使えそうですが、一部例外があって "Full-width latin" がNGで、これがff01-ff60の領域でその中に全角丸括弧(「FULLWIDTH LEFT/RIGHT PARENTHESIS」)が含まれている様です。
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/uff00.html
「使える文字一覧」を作るのは面倒そうですが、このコードをそのまま引用すればプログラム的に判断はできそうですね。
ありがとうございました。 私なりに調べてみたのですが、ユー
ありがとうございました。
私なりに調べてみたのですが、ユーザーネームに使える括弧はいくつかあるにはあるんですが、どれも機種依存文字のようなもので、コピペしてみると?になってしまうものばかりでした。
諦めて下記の文字を使うことにします。
❨❩←OK(機種依存文字らしい)
「❩」の文字は MEDIUM RIGHT
「❩」の文字は MEDIUM RIGHT PARENTHESIS ORNAMENT ということで、装飾文字の様ですね。
Excelなど外部にデータとして持って行った時にはちょっと苦労するかもしれませんね。
ユースケースによりますが、自分だったら「(株)」→「株式会社」に置き換えるかな...と思いました。または「(株)」への置換でしょうか。(「(株)」も微妙な領域ですが...)
どちらにせよ、想定利用環境でOKであればその文字を使う、が正解ですね。