[Notes/Domino] R6.5.6, 7.0.2, 7.0.3 で「×」などの文字の扱いがおかしくなっている
R6.5.6, 7.0.2, 7.0.3 で、「×」などの文字が、本来 3byte であるはずなのに 1byte で保管されてしまう、という問題が発生しているようです。詳細は以下のリンクから。
Lotus Notes 7.0.1 以前で作成した "×" を含んだデータを Lotus Notes 7.0.2/7.0.3 で正しく扱えない (魚拓)
ここまではわたしも去年から把握していましたし、大きく困ることはないかな、と思っていたんですけど、一昨日大きな落とし穴にはまってしまいました(TT
それは、NoetsAPI の OSTranslate で、「×」などの文字が LMBCS から NATIVE(Shift_JIS)コードに変換できない場合がある、ということです。
たとえば、「a×」という文字列は正しく変換されますが、「-> ×」という文字列は「×」の部分が空白(コード:7F)になってしまい、正しく変換されませんでした(x_x)
この例を見て解るとおり、どうも先行する文字列によって結果が変わる不具合のようです。具体的にどのコードが原因になっているか、までは解りませんでしたが……。
OSTranslate がコケる、ということは、自前で LMBCS を変換すれば解決するわけですが(実際できましたけど)、Lotus Script でこの処理を書くと、長い文字列の場合にどうしても処理が遅くなってしまいます(アルゴリズムが悪いだけかな(^^;??)。R7.0.4 では修正予定、とのことですから、あきらめたほうがいいのか……orz
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。