ネットで全角で住所入力させるサイトはすべからく地獄に落ちるべき

やわなべです。

先日の国勢調査のインターネット回答、滞り無く行えたのでおすすめだと書きましたが、唯一、不満だったのは最後に入力する連絡先の住所入力。

ありがちなんですが「住所の文字を全て全角文字で入力しろ」とかいう理不尽なものだったんですよ。

これねぇ、多くの人にはなんてことないことなのかもしれませんが、困る人もいるんですよ。少なくとも私はいつも困ってます。

いつまでたってもこの手のフォームがなくならないので、「住所の全角縛り」によって、どんな人がどんな状況で困るのかを素人ながらまとめてみました。

スポンサーリンク

全角のハイフンがどれかわからない

住所入力の際、「◯◯町1丁目2-3」のような、番地の数字の入力がある人が多いでしょう。

数字の部分はまだいいとして、問題は、数字をつなぐ「ハイフン」の部分です。これ、どうやって入力しますか?

半角であれば、PCならテンキー、スマホなら数字入力モードに切り替えてプラスマイナスの「マイナス」を入力すればいいと思います。環境によって異なる文字が入ってくる可能性はまずないでしょう。

これが、全角しばりの場合、状況は一気にややこしくなります。

これは、私の使ってるMacBookAirの日本語入力モードで、キーボードのマイナスキーを押した時の変換候補です。文字入力は「Google日本語入力」を使っています。

絵文字と波型の文字は無視するとしても、

・長音
・[全]ハイフンマイナス
・[全]ダッシュ
・[全]ハイフン

と、同じような全角の横棒だけで4つの候補があります。 しかもパッと見、棒の長さ以外に区別もつきませんよね。「[全]ハイフン」なんて全角か半角かすらわかりません。

さて、ここで問題。前述のような「全角で住所を入力しろ」という無慈悲なフォームがあったとして、番地部分の区切りの横棒に、どれを入力するのが正解だと思いますか?

 

 

正解:どれを入れてもエラー

 

 

なんですよ。あくまでもMacの場合ですが。

MacとWindowsの「全角マイナス」は別

もちろんフォームによって「区切り横棒」として期待する値は異なるので、一概には言えません。

が、入力される区切り文字として「全角マイナスを期待するフォーム」だと、上の4つすべてがエラーになります。これまでの経験上、「住所の全角入力」を求めるフォームのほとんどが、Macの「全角横棒」のいずれも受けつけないものでした。

なぜこのようなことがおこるんでしょうか?

繰り返しますが、この問題は数字の区切り横棒として「全角マイナス」を期待するフォームで起こります。そして、「全角マイナス」を表す文字ってのが、WindowsとMacとでは微妙に異なるんですよ。

文字にはそれぞれ「文字コード」というものがあって、一番良く使われる「UTF-8」という文字エンコードの場合、下のようなコードの差異があります。

WindowsとMacとの全角文字コードの違い(UTF-8)

文字 Windows
コード番号
Mac
コード番号
長音 e383bc e383bc
マイナス efbc8d e28892
ダッシュ e28095 e28095
ハイフン e28090 e28090

確認のために、入力した文字コードの番号を表示する単純なプログラムを作って、MacとWindowでアクセスし、それぞれ上の4文字を入力して確認しました。

いずれの環境も「Google日本語入力」を使っているのですが「全角マイナス」だけが異なるのがわかるでしょうか? Windowsで「全角マイナス」で入力される「efbc8d」の文字はMacでは通常入力できないんですよ。

どっちが正しいのか、そもそも正しいってのがあるのかは知りませんが、官公庁や企業で使われるパソコンは圧倒的にWindowsでしょうから、フォームプログラムの動作テストも「WindowsでチェックしてOKならばOK」としてるんでしょう。

実際、

国勢調査の住所入力の記入例をコピペして「区切り文字」のコードをチェックすると「efbc8d」でした。

もうおわかりでしょう。Mac使いの方なら経験があると思いますが、この問題の回避方法のひとつは、「住所入力例」として書かれている部分の「ハイフン」をコピペ入力する、というメソッドです。

さらに、記入例がない場合に備えて、私は「efbc8d」の文字を、日本語入力の辞書に「読み:くそぼう」で登録してます。

スマホユーザーはどうだろう?

今回の国勢調査のオンライン回答フォームはスマホ入力対応がウリなようでした。日本はスマホ市場におけるiPhoneのシェアが異常に高い国ですから、スマホで回答しようとする人の多くはiPhoneから入力するはずです。iPhoneユーザが、同じアップル製品のMacのように「住所入力の全角しばり」でつまづくとすれば、横棒難民が大量発生しそうですが、どうなんでしょうか?

さっきのテストプログラムを使って、手元のiPadMiniとAndroidスマホでもテストしてみました。

iOS(iPhone)とAndroidの全角文字コードの違い(UTF-8)

文字 iOS
コード番号
Android
コード番号
長音 e383bc e383bc
マイナス efbc8d e28892
ダッシュ e28093 ? e28095
ハイフン e28094? e28090

意外にもiOS(iPhone/iPad)の標準キーボードから入力した場合は、全角マイナスの文字コードがWindowsと同じで、エラーにはならないようです。

長音以外の文字の種別がよくわからなかったので、数字の全角入力モードでマイナスキーを押して入力したものを「全角マイナス」とし、それ以外に出てきた候補をダッシュ、またはハイフンと解釈しています。

一方のAndroidはPC同様「Google日本語入力」を使ったのですが、結果はMacと全く同じでした。AndroidスマホはMac同様「efbc8d」が入力できないので、コピペなどの対応が必要となるでしょう。スマホでコピペかー、めんどくさいですよねぇ。。

MacOSとiOSとで結果が違うのが意外だったので、Macの日本語入力をデフォルトの「ことえり」に変えて再テストしましたが、Macの全角マイナス=e28892」という点は変わりませんでした。

まとめると、

期待値として、Windowsパソコンで入力される全角マイナスを求める入力フォームでは、MacユーザーとAndroidユーザーが、不自由を強いられることになる

ということでよろしいのではないかと。

ハイフンを全角でどう表現するかは、そっちでなんとかしてほしい

このような「全角しばり」がはびこる理由としては、おそらく、住所データを格納するデータベースが「全角文字のみ受け入れる」という条件になっているからかと思います。そして、それを変更するには膨大なコストがかかったりするのでしょう。

それを変えろとは言いませんよ。言いませんが、ユーザー側に、データベースにあわせる形での入力を強いるんじゃなく、半角文字で入力させたのをプログラムで全角文字に変換かければいいだけの話なんじゃないでしょうか。

対象となるのは数字と横棒、あわせてもたったの11文字です。少なくとも国民全員が利用する可能性のある国勢調査みたいなので利用者側に、システム側の仕様を押し付けるのはどうかなー、と思いますね。

この問題は前からずっと存在するんですが、依然としてデリカシーに欠けるフォームがなくならないのには「いろんなOS環境からの入力がありうる」という事実を理解してない層が厳然と存在する、ってことなんでしょう。

たしかに、職場と家庭にWindowsパソコンしかない状況だと「この世にはWindows以外のOSで動くパソコンがある」なんて発想そのものに及ばないのは想像できます。

でもねぇ、このブログでもすでに半分以上がスマホからのアクセスなわけですよ。そろそろ「Windowsで問題なければOK」なんて風潮は見直されてもいい頃だと思いますけど。ねぇ。

「プログラマのための文字コード技術入門 (WEB+DB PRESS plu...」販売ページヘ

プログラマのための文字コード技術入門 (WEB+DB PRESS plu...

  • 作者: 矢野 啓介
  • 出版社: 技術評論社