機種依存文字への対応

イエね。あるでしょ「機種依存文字」。

もちろん以前から「気をつけなさいよ」とか、自分から使わないように意識してましたよ。

で、最近はEUC-JPからUTF-8の環境になり、何やらイイ感じになってきましたヨネ。

特にご提供システムのimportデータにイワユル「丸囲み数字」(①②とかね)がありまして、しかしこれがimportされると1,2とかになってしまうんですよ。アレ?osのdefaultもD/Bの文字コードも「UTF-8」なのに何故?

import生データをjavaから表示させても①だし、D/Bのテーブルにsql文で入れても①で入るし・・・。ってことはHibernate?。JDBC?。

で、結論は.

対象となるEntityクラスのsetterでご丁寧にJava.text.Normalizerを噛ませていたコトが原因でした。変な文字入れられちゃ困ると思って噛ませたのですが、Normalizerさんの仰る通り、①は変な文字でこれって1ってコトでしょ。

色々調べていると、Normalizerは比較するときに使うベキで、データは忠実に・・・・と。納得&反省でした。

Categories: コンピュータ関連 Tags:
  1. No comments yet.