正月さしせまったときに、こんな話題で恐縮なのですが・・・
VISTAでは、環境依存文字(機種依存文字とは”違う!”)というのが入力できる。
JIS第三、第四水準の文字で、UNICODEにはあるがSJISにはない文字である。
この文字を、DBにいれたら、果たしてどうなるか?
というお話。
MySQL5.0にいれてみる(かなり、昔のだから、よくなっているかも)
サンプルのテーブルは、JAVAでHelloWorldのここから。
入力データを、森鷗外に換えてみました。
入力できてしまいます。
結果、SELECTをかけると?になります。
では、この?は、森鷗外とUTFで入っているのか、
森?外と入っているのか?
ここで、繫という字も環境依存文字です。
もし、森鷗外とUTFで入っているなら、森繫外は違うものと認識するはずです。
逆に環境依存文字が?になるなら、森鷗外も森繫外も森?外で同じものと認識されるはず。
結果
?になっているのかな・・・
ま、SET NAMES SJISと指定しているのだから、当然なのだけれども・・・