C#とSQLite続き

文字コード自体の問題かと思われたのですが、よくよく調べてみたところUnicodeに実装されている結合文字の問題と判明。

普通の日本語変換ソフトなら濁点と半濁点の付いた文字はそのまま1文字として変換してくれるのですが、元データーはひらがな+結合文字の濁点(半濁点)で作成されていました。

これじゃ文字コードをどう変換したところで普通に手打ちして作ったDBの中身と正しく照合できるはずが有りません。もしかするとUTF16->ShiftJIS(windows codepage 932)->UTF8のルートで変換したらなんとかなったのかもしれませんが、面倒…

面倒ですけど、頭の体操ということで一回試してみますか。

追伸:

試した結果、結合文字はShitJIS側では知らない文字ということで?に変換されてしまいました。なのでこの試みは失敗。濁点がつくのは「か行」、「さ行」、「た行」、「は行」なので地道に変換するしかないですね。面倒…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です