文字化けとエクステンションと


あるプロジェクトのデータベースが文字化けするということで、ユニコードに対応できるよう文字化けを直すエクステとデータベースを作り直す作業を手伝った。

本体がユニコードに対応したアプリでも、エクステンションがある限りどうしても文字化け問題は起こり得る。今回のようにデータベースは古いままなので、これを正式にユニコードへ対応させたい場合とかもあるみたい。GArR を作るときに苦労した文字コード関連の知識が今回役に立った。

データベースのコンバート終了後に随分感謝されサイトへの寄付申し出があった。相手が企業だったら遠慮なくもらっていたけど個人だったのでお気持ちだけいただきますということで無事終了。ただエクステに関して初めてユーザからきちんと評価された気がしてそれは素直に嬉しかった。

ささやかだがこういう働きが一年に一度でもできれば、とは思う。難しいが。

CT の製品で文字列が化ける主な理由

文字化けは本体ではなく全部拡張(エクステンション)が原因なのだけど、古い SDK で作られたものは文字コードにマルチバイト文字列が使用されている。具体的には例外なく “iso-8859-1” が指定されている。

公式が作ったか関与している拡張でもいまだに文字化けが起こる。GET object も内部的には “iso-8859-1” しか扱ってないため、ユニコード文字列である UTF-8 はもちろん Shift-Jis なんかも当然 GET object の URL エンコード機能では対応できない。それらに対応すべく自分で一から作り直したのが GArR である。

本家がもしもエクステンションのソースコードを公開してくれればこちらで治せるものがあるし、さらに機能的に発展させることができるものもあるのだけど、オープンソース化されていないのとセキュリティ問題、あとはライセンスの問題が絡むため全部オープン化もたぶんいまさら難しいよね的な話は本家フォーラムのユーザ間でも話し合われていた。


Leave a comment

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