マルチバイト文字を使用するために必要な準備
php.ini の 1041 行目付近「 mbstring 」の項にある下記全てのコメントアウトを削除
output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
解説
項目 | output_handler = mb_output_handler |
意味 | 出力バッファの文字エンコーディングを有効にする。 |
詳細 | 出力制御関数 ( output control ) のoutput_handler はデフォルトでは NULL。
output_handler とは出力バッファのエンコーディング方法を指定するパラメタで
出力バッファ内で文字エンコーディングを変換するコールバック関数 ( mb_output_handler ) を指定。
またページ内で ob_start('mb_output_handler'); とすることでそのページ内に有効となる。
|
---|
関連 | output_buffering = On // 出力バッファリングを有効にする
mb_http_output('SJIS'); // HTTP 出力文字エンコーディングを SJIS に設定する |
項目 | mbstring.language = Japanese |
意味 | mbstring で使用される言語設定のデフォルト値 (日本語) |
詳細 | mbstring.internal_encoding を定義するために必要なので php.ini では mbstring.internal_encoding よりも前にくるようにすること。 |
関連 | |
項目 | mbstring.internal_encoding = EUC-JP |
意味 | 内部文字エンコーディングのデフォルト値 ( EUC-JP ) |
詳細 | |
関連 | |
項目 | mbstring.http_input = auto |
意味 | HTTP 入力文字エンコーディングのデフォルト値 (自動) |
詳細 | |
関連 | |
項目 | mbstring.http_output = SJIS |
意味 | HTTP 出力文字エンコーディングのデフォルト値 ( SJIS ) |
詳細 | |
関連 | |
項目 | ;mbstring.encoding_translation = Off |
意味 | HTTP 出力文字を自動で内部文字でエンコードする (無効) |
詳細 | |
関連 | 基本的には無効にしておくのが無難 |
項目 | mbstring.detect_order = auto |
意味 | 文字コード検出のデフォルト値 (自動) |
詳細 | |
関連 | mb_detect_order 関数で自動検出する文字コードリストを指定するのと同意 |
項目 | mbstring.substitute_character = none; |
意味 | 無効な文字を代替する文字 (なし) |
詳細 | Unicode 値を指定することや、コードで出力させることも可能 |
関連 | |
項目 | mbstring.func_overload = 0 |
意味 | シングルバイト対応の関数をマルチバイト対応にした関数でオーバーロードする (なし) |
詳細 | ビットを加算して10進数として指定
mbstring.func_overloadの値 | 元の関数 | オーバーロードする関数 |
1 | mail() | mb_send_mail() |
2 | strlen() | mb_strlen() |
2 | strpos() | mb_strpos() |
2 | strrpos() | mb_strrpos() |
2 | substr() | mb_substr() |
4 | ereg() | mb_ereg() |
4 | eregi() | mb_eregi() |
4 | ereg_replace() | mb_ereg_replace() |
4 | eregi_replace() | mb_eregi_replace() |
4 | split() | mb_split() |
例) mbstring.func_overload = 1; // mail() 関数をコールすると mb_send_mail() 関数が代わりにコールされる
例) mbstring.func_overload = 7; // 上記全てのマルチバイト関数がオーバーロードされる
|
関連 | |
php.ini の 597 行目付近
「 mail function 」の項にあるそれぞれ
SMTP = localhost // SMTP サーバーのアドレス
smtp_port = 25 // SMTP で使用するポート番号
sendmail_from = me@example.com // メール差出人のメールアドレス
以上を任意に設定。
httpd.conf の設定
行 | 193 行目付近 |
項目 | LoadModule php4_module c:/php/sapi/php4apache2.dll |
意味 | Apache に PHP モジュールをロードする |
備考 | Apache 1.x では php4apache2.dll |
行 | 384 行目付近 ( 要素内) |
項目 | DirectoryIndex index.html index.php |
意味 | ディレクトリでリクエストされたときのデフォルトで出力するページ |
備考 | デフォルトでは index.html だけなので index.php を追加すること |
行 | 721 行目付近 ( 要素内) |
項目 | AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps |
意味 | 拡張子 .php の関連付け |
備考 | mod_mime.c 内で定義すること |