ハイフン記号とマイナス記号ってそれぞれあったのか!!
Linuxから、Windowsで動いているSQL Serverに接続する実験を続けているときに驚愕の事実を知ってしまった。
と言っても、知っている人は「なーんだ」レベルの事でしょうが…
日本語入力にATOKを愛用しているので気づかなかったが、住所の番地を入力するときに「2-16-40」と何気なく入力していたこの「-」。ASCIIな半角だったらマイナス記号であり、ハイフンとして使っているはずだが、2byteな全角にはちゃんとハイフン記号「‐」があったんですね!?MS IMEの場合、数字の後のこの記号はちゃんとハイフン「‐」になっていた(設定次第かもしれないけど)。10数年PCを使っているが、まさかちゃんと分けられていたなんて…。がっくり。[:悲しい:]
で、前回書いた設定をもとに試してみたがうまくいかず、このハイフンの存在を知り、一旦データをマイナス記号から「-」、ハイフン記号「‐」に変えてみたところ、おおっ、うまくいった~!!という次第。
でも、根本原因の解決には至らず…「-」が上手く変換できないのはバグなのか?
それにしても、この文字コードに関して調べてみると結構ややこしいことが分かった。しかもUnicodeの場合、ハイフン記号の種類がものすごくある。文字と文字の間に挟むものから、行と行の間で繋がっていることを示すもの、等々…。こんなにいっぱいあって、本当に使うんでしょうか?そもそもよーく見ないと違いを識別できない!
個人的には、
---------------
---------------
---------------
---------------
---------------
---------‐-----
はいっ!どこが違うでしょうか!?
みたいな使い方ぐらいしか思いつきません…。[:びっくり:]
参考
●キーワード設定の現場から
●従来の文字コードとUnicodeの対応に関する諸問題
●ハイフンマイナス、ソフトハイフン、ハイフン、マイナス記号と様々なダッシュ
●Labelに全角ハイフンが表示できない