[PHP-users 4491] Re: マルチバイトによるereg_replace

HOTTA Michihide php-users@php.gr.jp
Thu, 27 Dec 2001 14:32:31 +0900


堀田@諌早市です。

On Thu, 27 Dec 2001 14:12:12 +0900
koni-san wrote:

> <?php
> 
>          $strS      = "ラーメン大好き";
>          $strEreg  = "ラーメン";
>          print ereg_replace("$strEreg", "<B>$strEreg</B>", $strS);
> 
> ?>
> というソースで実行すると
> Warning: REG_EBRACK in xxx.php on line XX
> と怒られます。
> キーワードが「ご飯」等の時は別にエラーは出ません。
> 特定のキーワードの時にエラーが出ます。
> 
> プラットホームは次の通りです
> redhat 7.0, PHP 4.1.0 (configureオプションは下記に記す),
> '--enable-mbstring' '--enable-mbstr-euc-trans' 
> '--enable-versioning' '--with-pgsql=/usr/local/pgsql/'
> '--with-apxs=/usr/local/apache/bin/apxs' '--enable-trans-sid'

スクリプトを SJIS で書いていませんか?
(そうでなければ以下は無視してください)
だとしたら、

  http://search.net-newbie.com/php/ref.mbstring.html

の「例 5 EUC-JP ユーザ用のphp.ini  の設定」のように設定し、
(エディタで設定して)スクリプトファイル自体の文字コードも 
EUC に すれば OK じゃないかと思います。

サーバ上で EUC になっていることを確認するには 

kcc -c ファイル名

とします。kcc がなければ入れましょう。
-- 
堀田 倫英  hotta@net-newbie.com ## http://www.net-newbie.com   
  Outlook Express をお使いの方 or ML 初心者の方へ:
    http://www.net-newbie.com/netiquette/outlook.html