Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: taro7_10.plでのEncode使用



寺西です。

Yukio USUDA wrote:
> 
> どうもfilter/taro7_10.plではなくてそこから呼び出している
> codeconv::eucjp_zen2han_ascii()が悪くて
> "。"(EUC-jpで \xA1\xA3)を直後の文字とくっつけて変換してしまっているようです。
> 
> pl/codeconv.plの該当箇所を下記のようにしたら文字化けが直りました。

そういう問題でしたか。やたら、文章の最初で化けていると思ったら、
"。"が悪さしていたわけですね。
修正版でテストしてみました。ほぼ文字化けは解決しています。

ほぼというのは、次の文字化け(?)を確認しています。

1.「優勝!」という文字列が「優妾」に文字化けしました。
  
  # echo -n "優勝!" | od -t xCa
  0000000 cd a5 be a1 a1 aa
            M   %   >   !   !   *
  0000006

  # echo -n "優妾" | od -t xCa
  0000000 cd a5 be aa
            M   %   >   *
  0000004

  となりますので、a1 a1 が削除されています。
  filter/taro7_10.pl を見ると、
 $content =~ s/\xa1\xa1//g;
  という箇所があり、意図的に削除しているようです。
 この意図が理解できないのですが、意図に反して別のところにも
 影響を及ぼしているようです。

2. Perl 5.8 版では、機種依存文字(株)が ? に変換されるようです。
 Encode::from_to の仕様ということでしょう。
 機種依存文字ですので、? になるからといって、直ちに問題になる
 とは思っていません。
 unicode.pl と動作が異なるということだけは覚えておいた方が
 良いでしょう。(報告まで。)  
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E