Takenoff Labs

Lotus Notes/Domino に関する Tips や、クラシックの名曲などを紹介します

[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

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 3.00 out of 5)
Loading...

トラックバック

トラックバックはありません

コメント

コメントはありません

※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。





(以下のタグが使えます)
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

For spam filtering purposes, please copy the number 2652 to the field below:

^
×