Unicodeの場合の郵便番号書式設定
元々、Shift_JIS(文字型)だった、郵便番号用のモデルをUnicodeに変更しました。
元々の書式は「XXX\-XXXXA」だったので、Unicodeへ変更後も同じ書式を設定しました。
すると、数字四桁しか入力できません。
Unicodeの場合、郵便番号用の書式はどのように設定すれば良いか、お教えいただけないでしょうか。
-
「文字型」から「Unicode型」に変更すると、それまで半角分のスペースであったものが全角分のスペースを取るようになり、書式の桁数が足りなくなることがあります。その辺りを含めてチェックしてみるといいですよ。
-
ありがとうございます。
問いが言葉足らずでした・・・。
モデルでUnicodeへ変更し、そのモデルをカラムにつかったBtrieveファイルで、数字をフルに入力できない問題です。
ファイルの方で、「サイズ」を書式文字数の倍の値にすると、フルで入力できるようです。
-
そうなんですね。
他のモデルでもUnicodeに変更していっているのですが、データのサイズは手修正しないと二倍にならないですね。。。
仕方ないので、一つ一つチェックしていっています。
-
なるほど。
古いプログラムで、多数の人の手が入っていますので、そうなのかもしれません・・。
-
ご指摘ありがとうございます。
モデルでUnicodeに変更してもデータファイルの「記憶形式」が「String」のまま、など怪しいので、モデルで変更した後、データファイルではモデル継承をやりなおすようにいたします。
-
大変助かりました。
ありがとうございます。
気づかずに「サイズを手修正」だけ繰り返していたら、またまたミスなどでハマってしまっているところでした。
-
Unicodeの場合、日本語の半角文字(半角数字や半角カタカナ)をそのままの半角サイズで扱うアドレスと、全角サイズで扱うアドレスとがあったと記憶しています。
たしかUnicodeの初期の頃はすべて全角サイズの扱いだったのですが、あとでShift-JISとの互換性を維持するために、規格が修正(追加)されてきたという歴史的な背景があったと記憶しています。
違っていたらすみません。なにぶん古い話なので記憶が薄いです。。。
いずれにしても、文字型とUnicode型を行き来する場合は、書式のサイズに留意したほうがいいと思います。
サインインしてコメントを残してください。
コメント
7件のコメント