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