中国語の文字を扱う Java コードを書いているところ、予期しない結果が得られました。等しいはずの文字列が等しくありませんでした。これは問題のある文字の 1 つで、「6」を意味します (ピンイン: liù): 六. この文字は、次の 2 つのコード ポイントのいずれかで表すことができます。
ブロック内の F9D1: CJK Compatibility Ideographs
ブロック
内の 516D: CJK Unified Ideographs
ウィキペディアにはこれらの文字範囲に関するページがあり、互換性表意文字に関する短いセクションではいくつかの重複について言及されていますが、リストではこの特定の文字が省略されています。
だから私は疑問に思っています:
- 重複するユニコード文字のリストがどこかにあるので、文字列を比較する前に変換できますか?
- CJK 文字を扱う場合、これは正常なことですか? それとも何か間違ったことをしたのでしょうか?