業務で使っているちょっぴり古いシステムにデータをインポートしようとしたところエラーが発生。
マニュアル確認しても間違っていないし・・・なぜ・・・?
結論を言えば「~」だと思っていたものが「〜」だったことが判明、「〜」を「~」に置換して、なんとか時間までにインポート完了。
せっかくですので、調べたことをまとめて残しておきます。
見た目は同じだが、実は文字コードが違う
「〜」と「~」は(こう見えて)違う文字だそうで、調べて見ると「〜」は「波ダッシュ」と呼ばれ、「~」は「全角チルダ」と呼ばれているそう。
ずっと波線だと思ってた・・・。
ざっくりした説明
「〜」:波ダッシュ(wave dash)
日本語表記における約物のひとつで、波線「〜」(はせん/なみせん)を指しているそうです。ダッシュ記号(—)の波形。「波線のダッシュ記号(—)だから波ダッシュ」だそう。Unicodeは[U+301C]
「~」:全角チルダ(fullwidth tilde)
ダイアクリティカルマーク(発音区別符号)のひとつで、波線符号とも呼ばれるそうです。UNIX系オペレーティングシステム上でホームディレクトリを意味したりする「~」の全角。Unicodeは[U+FF5E]
素人には違いを見抜けるのは難しい
HGGothicEで表示

・・・むりですね。
HGSMinchoEで表示

これなら判断できる・・・かな?
フォントによってなんとかギリギリ判断できるレベル。
自分で入力していない場合は、どっちが波ダッシュ(〜)で、どっちが全角チルダ(~)だかパっと見ても分かりません。
Google IME環境での変換
「から」と入力してみる

「チルダ」と入力してみる

「から」と入力したときに説明文に[全]波ダッシュと表示されましたが、実際に入力されるのは[全]チルダでした。
Microsoft IME での変換だと「から」と入力してから変換すると、「[全]波ダッシュ」も「[全]チルダ」も出てくるし。。。さらにややこしかった。
わかりにくくなってしまった原因と理由
本来ならば「全角チルダ(~)」は元々発音区別記号であるため、「東京から大阪」と言う意味で「東京~大阪」のような用法で使われないはずだが、とあることが原因で「波ダッシュ(〜)」よりも「全角チルダ(~)」が使われているケースが多いのだそう。
ニコニコ大百科に原因と理由がわかりやすく載っていましたのでご紹介。
1.発端は、文字コード「Unicode」の検討グループのミス。日本語の記号に不慣れだったらしく、日本語の記号「〜」(波ダッシュ)を策定してサンプル字形を定める際に、「左側が下がって右側が上がっている」という、誤った鏡映しの形で採用してしまった。
そして、誰も「修正しよう」と言い出すことなく、「〜」(波ダッシュ)のサンプル字形は誤った形のまま長年放置されていた(2014年にGoogle日本語入力の中の人が修正提案を出したらあっさり提案が通過し、2015年にやっと訂正された)。2.この誤りは多くの会社で気づいて日本語フォント適用の際に自主的に訂正していたが、Microsoft社は同社のOS「Windows」において、その基本フォント(MS明朝やMSゴシック)での「〜」(波ダッシュ)に、このUnicodeの誤ったサンプル字形に忠実な「左側が下がって右側が上がった」形を適用していた。
つまり、「〜」(波ダッシュ)を使うとWindowsでは誤った字形が表示されてしまう……という時期が長く続いた(これは「Windows XP」まで続いた。「Windows Vista」でやっと修正された)。3.この誤表示問題に気付いたMicrosoft社は、誤って表示される「〜」(波ダッシュ)を極力入力させず、代わりに「~」(全角チルダ)を使わせようとする方針で動いた。IMEでの変換の仕様や、文字コードShift_JISとUnicodeの対応などで独自路線を走ったのである。
https://dic.nicovideo.jp/a/%E3%80%9C
ややこしい話なので詳しくは割愛するが、特に文字コード対応問題については、「〜(波ダッシュ)を使うと、異なる環境どうしでファイルをやり取りした時に文字化けを引き起こす」という厄介な問題となって後に尾を引いた。
Google日本語入力の中の人が提案したらあっさり通ったってのもまたすごい話ですね。
最後に
まさか「~」が原因でインポートできないとは思っていなかったので、無駄に時間をグダグダ グダグダ使ってしまいました・・・。
普段データからやっていればすぐ気が付くんだろうけれど、データのエクスポートはしても インポートに関しては ほとんど触らないので、数か月くらい間があいたら同じ間違いしそうでこわい・・・。
結構同じようなミスしている方も多いようでちょっぴり安心してます。
コメント