[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
PHP の調べ物
php.inオプション名 | 適応場所、結果 | 意味、概要 | 値の表し方と補足 | 該当関数 |
---|---|---|---|---|
mbstring.detect_order | mb_detect_encoding 関数, mb_send_mail 関数の 文字エンコーディング検出順序 |
文字エンコーディング検出順序を設定。 | 文字コードで1種類以上、またはauto。 auto ならばASCII,JIS,UTF-8,EUC-JP,SJIS の検出順序。 |
mb_detect_order 関数 |
mbstring.http_input | HTTP 入力文字エンコーディングのデフォルトを設定。 入力をソース内部で指定した文字コードに変換する 場合に設定するが、元の |
文字コード1種のみ。指定し何もしないpass を 指定したり、auto を指定したならばASCII,JIS, UTF-8,EUC-JP,SJISの検出順序で自動認識も 可能。 |
mb_http_input 関数 | |
mbstring.http_output | mb_output_handler 関数で指定した 出力バッファ。 また、mb_output_handler 関数 を用いたときに条件によって作られる charset HTTP ヘッダの値にも作用。 |
HTTP 出力文字エンコーディングのデフォルトを設定。 Content-type がtext/html である場合のみ出力変換が 有効になる。またmb_output_handler 関数などの 文字コード変換関数を用いなければ効力はない。 |
文字コード1種のみ。指定し何もしないpass を 指定も可能。 |
mb_http_output 関数 |
mbstring.encoding_translation | 入力される HTTP クエリに関して、 文字エンコーディング検出および 内部文字エンコーディングへの変換を行う 透過的な文字エンコーディングフィルタの設定。 |
この値がOn であると入力されたクリエは mbstring.http_input で指定した 文字エンコーディングであると判断し、 mbstring.internal_encodingで指定した 文字エンコーディングに変換をします。 色々な意味合いで、入力がどんな 文字エンコーディングなのかや、 マルチバイト文字の関数を用いるのかなどを 考慮して設定する必要があります。 スクリプト内部で設定できるのであれば、 Off にして使用することが可能です。 |
公式サイト(HTTP 入出力)に、 「PHP スクリプトで HTTP 入力文字変換を制御する 手段はありません。」 とあるので注意が必要。 (php.iniが書き換えられない環境 の場合にはApache の設定で、 php_value mbstring.encoding_translation Off を設定する) |
|
mbstring.internal_encoding | 各マルチバイト文字の 関数で元のエンコーディング 種類が必要な関数。 mb_convert_encoding 関数, mb_convert_kana 関数などで 引数がない場合に使用。 mb_decode_mimeheader 関数では 必須となるがソース内で該当関数で 指定可能。 |
内部エンコーディングと呼ばれているが、 関数内部で必要な時に使用される 暫定(既定)の文字エンコーディングの事。 |
文字コード1種のみ。マルチバイト文字列系の 関数を使うときに自身で値を設定するのならば、 注釈にしてしまい用いない事も可能。 |
mb_internal_encoding 関数 |
default_charset | 自動で生成される環境設定の場合、 charset HTTP ヘッダのContent-type: の文字エンコーディング種別。 |
Content-type:ヘッダで character encodingを 出力する。 |
PHPの処理はWebページ向けの処理のみでは 無いので、この設定が問題を発生させる場合は 値を空にして、charsetの送信設定を無効に 出来ます。 またWeb系の出力の場合にこの値を 空である無効にした場合には、header 関数で 値を指定する必要も考慮が必要になります。 |
(header 関数) |
output_handler | 最終的な文字コーディングを必要と した場合、フィルタとしてコールバック 関数を用いた後の出力の内容変化。 |
出力する最終段階で内容を自動的に指定した 関数に送り処理させ、その関数の出力を最終出力 とする設定。(つまりこの事をリダイレクトと言う) つまりバッファを用い、文字エンコーディングを 他の文字エンコーディングに変える事を、 関数を選んで指定できます。 |
関数名もしくは空の値。 例としては、 "ob_iconv_handler"か"mb_output_handler" や "ob_gzhandler()"か"zlib.output_compression" PHPのバージョンによっては、 イメージのようなバイナリデータであるのに Content-Type: をheader 関数を用いて指定や、 バージョンや環境設定においては、 mb_http_output をpass に指定しなければ バイナリデータがうまく処理できない場合が あります。 |
コールバックとしての mb_output_handler 関数 (実体は ob_start 関数) |
コメント一覧