このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

MT Replaceのバグでしょうか?

発言者:野本夏俊
( Date Tuesday, May 12, 1998 16:00:28 )


以下のスクリプトを実行すると

MT Replace "クレモンを連れてきた" search "c" replace "c"
---->"クレツ唐連れてきた"

となってしまいます。バグでしょうか?
結構たくさんのケースで置換をしたのですが、これだけはどうしても化けてしまうようです。

野本夏俊 さんからのコメント
( Tuesday, May 12, 1998 16:46:16 )

もしかして、MT Replaceは1/2バイト文字を区別しない仕様なんですか?

→  ここではそのように報告されています。(山本 武さんのページ)

野本夏俊 さんからのコメント
( Tuesday, May 12, 1998 17:57:47 )

過去の発言にありました。失礼しました。

田中求之 さんからのコメント
( Tuesday, May 12, 1998 18:10:17 )

すでに解決したようですが、MT Replace は文字の次元での識別は行いません。
どの言語の文字列であるかに関係なく、単純に、一致したバイト列の置換を
行うだけです。

スクリプトコードを認識した置換を行いたいときには、AppleScript で組むか、
飯森さんの一連の osax をうまく使ってください。

野本夏俊 さんからのコメント
( Wednesday, May 13, 1998 12:32:27 )

>MT Replace は文字の次元での識別は行いません。

MT Replaceに限らず、文字を扱うコマンドすべてでそうなっているみたいですね。

田中求之 さんからのコメント
( Wednesday, May 13, 1998 15:26:09 )

そうです。

XCMD 作成にハマってた頃から、Quick & Dirty  が信条ですし (^_^; 、バイトで扱う
ということに統一しておけば、いざとなれば対処も簡単ですから。