吉田と申します。 SJISで"ー"の2バイト目5Bが"["になるんですね。参考になります。 本当に内部コードSJIS使用はパズルみたいですね。 無理にやろうと思えば $name = 'ちーず'; $name = ereg_replace( 'ー[]', '-', $name ); とすればいけるでしょうか。 (1)〜(6)までを正規表現で一括置換したい気持ちもわかりますが、 読みやすさと、将来内部コードを変更するときのために、 > str_replaceを代わりに使うのはどうですか? に1票ですね。