Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: taro7_10.plでのEncode使用
- From: Yukio USUDA <m6694ha392t@xxxxxxxxxxxxxxx>
- Date: Sat, 31 Jan 2004 10:21:59 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 03621
- References: <401A99F9.6EC7F57B@asahi-net.or.jp>
Tadamasa Teranishi wrote:
テストありがとうございます。
> ほぼというのは、次の文字化け(?)を確認しています。
>
> 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 と動作が異なるということだけは覚えておいた方が
> 良いでしょう。(報告まで。)
Perl5.8のEncodeはCP932のテーブルも持っているので
UTF→CP932→euc-jpと2段階の変換をすれば機種依存文字?もいくらか
保持できるのではないかと思います。(試してみたことはないです)
unicode.plもcp932テーブルに特有の文字を消すので
それぞれ理解して使わないといけませんね。
#去年の6月ごろにも同様話題がありましたね。
臼田幸生