2バイト文字の扱い
 プログラミング言語はもともと英語圏で開発されたものが多いため、漢字や平仮名、全角カタカナなどの2バイト文字の処理は苦手です。
PHPではそのような問題に対処するために、mbstring というモジュール用意されています。 ここで言うモジュールとは、PHPの基本機能に対しての各種の拡張機能を提供する外部ファイルのことで、mbstringモジュールも、その実態は「php_mbstring.dll」というファイルです。
 最初の設定さえしてしまえば、モジュールの読み込みなどはPHPがやってくれます。スクリプト上では普通の関数とまったく同じように使うことができます。
しかし、すべてのユーザが全部を使うわけではありません。そのため、必要な人が必要なものだけを任意に追加するようになっています。mbstringモジュールを使うには、はじめに一度だけ、それが使えるようにPHPの環境設定を変更する必要があります。

mbstringモジュールは付属CD-ROMには収録されていませんので、以下の手順で入手してインストールしてください。


  1. http://jp.php.net/downloads.phpにアクセスし、「Windows Binaries」からZIP形式のファイルをダウンロードして解凍します。
    (※PHP4.3.2の場合、「PHP 4.3.2 zip package」と描いてある部分をクリックします。実際にダウンロードするファイルは「php-4.3.2-Win32.zip」となります。PHPのバージョンアップにともない、ファイル名は変更される可能性があります。)


  2. 生成されたフォルダ内の「extensions」というフォルダを探し、その中にある「php_mbstring.dll」をハードディスクの「C:\PHP」フォルダへコピーします。


  3. 「C:\WINDOWS」フォルダ内の「php.ini」をテキストエディタで開き、次のような修正を加えます。
    php.iniファイルの変更箇所は、テキストエディタで「mbstring」というキーワードで検索すれば簡単に見つけられます。
    
    (560行目付近)
    
    ;extension=php_ldap.dll
    extension=php_mbstring.dll  ←先頭にある「;」を削除
    ;extension=php_mcrypt.dll
    ;extension=php_mhash.dll
    
    (1018行目付近)
    
    [mbstring]
    ;language for internal character representation.
    mbstring.language = Japanese  ←先頭にある「;」を削除
    
    ;internal/script encoding.
    ;Some encoding cannot work as internal eccoding.
    ;(e.g. SJIS,BIG5,ISO-2022-*)
    ;mbstring.internal_encoding = EUC-JP
    
    ;http input encoding.
    ;mbstring.http_input = auto
    
    ;http output encoding. mb_output_handler must be
    ;registered as output buffer to function
    mbstring.http_output = SJIS  ←先頭にある「;」を削除
    
    ・環境によっては太文字の値も「SJIS」に変更する必要があります。
    ・また、レンタルサーバー等でUNIX系のコンピュータを使う場合には、「SJIS」の部分を「EUC-JP」とする必要がある場合もあります。


  4. 「php.ini」ファイルを上書き保存します。


  5. 設定変更を反映させるため、Apacheを再起動します。



 Check!
Apacheを再起動を再起動するには、スタートメニューまたは「Apache Service Monitor」より[Restart]を実行して、Apacheをリスターとさせます。



それでは、PHPがmbstringモジュールを使える状態になっているかどうか確認します。
現在のPHPの各種設定状況を表示するphpinfo関数を実行してみます。
phpinfo関数を実行する

<?php

 phpinfo( );

?>


 ここで「mbsiring」という項目が表示されて、「Multibyte Support」や「Japanese support」の設定内容が「enabled」となっていればOKです。以降はmbstringモジュール内の関数をスクリプトで使うだけです。もし問題がある場合には、php_mbstring.dllファイルの貼り付け先やphp.iniファイルの内容を再確認してください。