• 締切済み

mbstring extensionのチェックの仕方 (初心者です)

プログラミングは、超初心者で、いろいろ自分で出来るところまでは調べてみたのですが、 限界に達してしまい、皆さんの助けが必要となりました。 どうぞよろしくお願い致します。 自分のサイトに掲示板を付けようと思い、PHPのものをダウンロードしました。 (http://www.phpbb.com/) これを設置するための条件を揃える、という指示がありまして、 以下の2箇所がまだ不十分だそうです。 HTTP input character conversion: mbstring.http_input must be set to pass. HTTP output character conversion: mbstring.http_output must be set to pass. この2つの指示が出ているのですが、何からどう始めたら良いのか理解できずにいます。 自分で調べたところ、php.iniの中に、上記のものを設定し直す箇所があると理解したのですが、あっていますか? php.iniは、どこにあるのでしょうか? サーバーは、エックスサーバーを使用しているので、 PHPはすでにインストールされています。 皆さんの判断基準とするものが分かりかねるので、 もし何か必要な情報がありましたら、教えてください。 あまりにも初心者な質問で申し訳ございませんが、 どうぞよろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • localica
  • ベストアンサー率52% (202/385)
回答No.1

こんにちは まずmbstringは拡張モジュールですのでphpがインストールされているからと言って必ず使用できるとは限りません。 サーバーの管理者にお尋ね下さい。 またphp.iniの設置場所ですが一般的に言えばphp_rootかetcかlibの下辺りですが、いずれも管理者権限がないと変更できません。 レンタルサーバーを利用しているご様子なので、いずれもレンタルサーバー会社に問い合わせてください。

関連するQ&A

  • mbstringが無効

    Fedora10の環境にyumでPHPをインストールし、 php.iniのmbstringを下記のように設定しています。 ところが、mbstringの実行ができません。 phpinfo()を実行してもmbstringの項目が表示されません。 どなたか、ご教示いただければ幸いです。 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS bstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ;mbstring.strict_encoding = Off

    • ベストアンサー
    • PHP
  • 日本語が使いたいのですが[mbstring]設定がわかりません

    環境は winxp sp2 apache 2.0.54 php 5.0.4 argosoftmailserver php.iniの設定は [mbstring] 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 です。足らない事があればお願いします。 下はphpの文です。 <?php $subject = "テスト"; $message = "あいうえお"; $test="日本語エンコーディングテスト"; print "$test (" . mb_detect_encoding($test) . ")<br>"; print ("mbstring.http_input=". mb_http_input() ."<br>"); print ("mbstring.http_output=". mb_http_output() ."<br>"); print ("mbstring.internal_encoding= ".mb_internal_encoding()."<br>"); $subject = mb_convert_encoding($subject, "SJIS", "EUC-JP"); $message = mb_convert_encoding($message , "SJIS", "EUC-JP"); mb_language("Japanese"); $chk = mb_send_mail('******@*******',$subject,$message,'From:***@******.dyndns.org'); if($chk==FALSE) { print "送信失敗"; } else { print "送信完了"; } ?> エンコードテストの結果は以下です。 日本語エンコーディングテスト (SJIS) mbstring.http_input= mbstring.http_output=SJIS mbstring.internal_encoding= EUC-JP よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpで文字化け(php.ini)

    phpスプリクトはshift-jisで、文字化けしたためphp.iniをいじってみました。しかしどうやっても一定の漢字が文字化けしてしまいます。(「貼る」等…) 設定した箇所は下記の通りです(色々なサイトを回って調べた結果このような設定にしました) PHPのバージョンは4.4.1です。 default_charset = "Shift-JIS" mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0

    • ベストアンサー
    • PHP
  • php.ini の mbstring.encoding_translation が反映されない

    さくらインターネットで独自にPHP5を導入しました。 マルチバイトの処理"mb_convert_encoding"を実行したところ、文字化けしたままの状態です。 ■phpinfo()で確認したところ、下記の通りとなっています。 ------------------------------------------------------------- Multibyte Support enabled Multibyte string engine libmbfl Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) version 4.4.4 Multibyte regex (oniguruma) backtrack check On mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. Directive Local Value Master Value mbstring.detect_order auto auto mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input auto auto mbstring.http_output SJIS SJIS mbstring.internal_encoding EUC-JP EUC-JP mbstring.language Japanese Japanese mbstring.strict_detection Off Off mbstring.substitute_character no value no value -------------------------------------------------------------- ■php.iniの内容は下記の通りです。 -------------------------------------------------------------- output_handler = mb_output_handler mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translastion = On mbstring.detect_order = auto mbstring.substitute_character = none; -------------------------------------------------------------- ■PHP5をインストールするときの、conf.sh の内容は下記の通りです。 -------------------------------------------------------------- #!/bin/sh ./configure \ --prefix=$HOME \ --with-config-file-path=$HOME/www/cgi-bin \ --program-suffix=5 \ --with-pear=$HOME/share/pear5 \ --enable-force-cgi-redirect \ --enable-mbstring=all \ --enable-mbregex \ --enable-mbstr-enc-trans \ --enable-versioning \ --enable-trans-sid \ --with-mysql \ --with-openssl=/usr \ --with-soap=yes \ --with-zlib=/usr \ --with-gd=/usr/local \ --with-jpeg-dir=/usr \ --with-freetype-dir=/usr \ --with-ttf \ --with-png-dir=/usr \ --with-curl -------------------------------------------------------------- ■疑問点 php.ini で設定した、    mbstring.encoding_translastion = On が反映されていないことがphpinfo()を見ることでわかりました。 phpinfo()で表示される、Configuration File (php.ini) Path は 設定したphp.ini を指しているので、異なるphp.iniを参照しているわけではないと考えています。 ちなみに、php.ini で、上記のマルチバイト関連のオプション設定をしないときのphpinfo()の内容は下記の通りです。 Multibyte Support enabled Multibyte string engine libmbfl Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) version 4.4.4 Multibyte regex (oniguruma) backtrack check On mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. Directive Local Value Master Value mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input pass pass mbstring.http_output pass pass mbstring.internal_encoding ISO-8859-1 no value mbstring.language neutral neutral mbstring.strict_detection Off Off mbstring.substitute_character no value no value   なぜ、mbstring.encoding_translastion が反映されないのか、どこかで上書き設定されてしまうのか、他に設定すべきオプションがあるのか、教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • MySQLから取得した日本語のデータが?に文字化けする

    お世話になります。 XAMPPでインストールすると文字化けする問題で、 もう過去ログでも何十と取り上げられているのですが、 それらをいろいろ試してみてもまだできないので、 質問させていただきました。 統一して、UTF-8で扱おうとしています。 行ってきたこと ・my.cnfがないので、C:\xampp\mysql\binに新規に追加 ・下記の内容を書き込む [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 ・PhpMyAdminでデータを作成するとき、『MySQL 接続の照合順序: 』を 『utf8_unicode_ci』に変更 ↑PhpMyAdmin上で、データは正しく日本語で取得できるが、 コマンドラインからSQLを投げると、すでに?になっている。 ・php.iniで下記の場所を編集 [mbstring] ; language for internal character representation. ; http://php.net/mbstring.language mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ; http://php.net/mbstring.internal-encoding mbstring.internal_encoding = UTF-8 ; http input encoding. ; http://php.net/mbstring.http-input mbstring.http_input = UTF-8 ; http output encoding. mb_output_handler must be ; registered as output buffer to function ; http://php.net/mbstring.http-output mbstring.http_output = UTF-8 ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. ; http://php.net/mbstring.encoding-translation mbstring.encoding_translation = On ; automatic encoding detection order. ; auto means ; http://php.net/mbstring.detect-order mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another ; http://php.net/mbstring.substitute-character ;mbstring.substitute_character = none; ・apache、MySQLとも、XAMPPControlPanelから再起動 ・phpでの出力に、『print("<meta http-equiv="Content-type" content="text/html; charset=utf-8">");』を追加する。 ここまでは行っています。 コマンドラインでSQLを投げて、そこで文字化けするようなのですが、 あとは何がいけないのでしょう。 同じ回答をいただくことになってしまうかもしれませんが、 何卒ご指導の程、よろしくお願い致します。

    • 締切済み
    • PHP
  • mbstringのMaster Valueの部分を変えることはできませんか?

    mbstring.detect_order    『no value』『no value』 mbstring.encoding_translation『On』『Off』 mbstring.func_overload    『0』『0』 mbstring.http_input     『auto』『pass』 mbstring.http_output     『Shift_JIS』『pass』 mbstring.internal_encoding  『Shift_JIS』『no value』 mbstring.language      『Japanese』『neutral』 mbstring.substitute_character『no value』『no value』 上記のような設定を mbstring.detect_order    『auto』『auto』 mbstring.encoding_translation『On』『On』 mbstring.func_overload    『0』『0』 mbstring.http_input     『auto』『auto』 mbstring.http_output     『sjis』『EUC-JP』 mbstring.internal_encoding  『sjis』『EUC-JP』 mbstring.language      『Japanese』『EUC-JP』 mbstring.script_encoding   『no value』『no value』 mbstring.substitute_character『no value』『no value』 このように設定することはできるのでしょうか? .htaccessで設定する場合はLocal Valueの部分が変更されるのですよね? Master Valueの部分も変更する場合にはどうしたらよいのでしょうか?

    • 締切済み
    • PHP
  • php.iniを変更したのにUFT-8が文字化け

    こんにちは。教えて下さい。 Movable TypeをUTF-8で運営しようと思いましたが、使用中のサーバーのphpの文字コードがEUC-JPでした。 サーバーに問い合わせたところ、php.iniを編集するだけで文字コード変更できます、とのこと。 そこで、php.iniの mbstring.language = Japanese mbstring.encoding_translation = On mbstring.http_input = auto mbstring.http_output = EUC-JP mbstring.internal_encoding = EUC-JP mbstring.detect_order = auto mbstring.substitute_character = none; を mbstring.language = neutral mbstring.encoding_translation = On mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.internal_encoding = UTF-8 mbstring.detect_order = auto mbstring.substitute_character = none; にしてみました。 当方初心者で、php.iniは初めていじりました。 EUC-JPとあった箇所またはJapaneseとあった箇所を変更したのみです。 また、Movable Typeのmt-config.cgiで 文字コードをEUC-JPからUTF-8に変更。 Movable Typeの文字コード関連の変更はこのファイルのみですのでこれで大丈夫・・・。 そう思ったのですが、Movable Typeが文字化け・・・。 php.iniの設定が間違っているのでしょうか? 助けてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 日本語表示ができない

    こんばんわ。 winXP+apache2.2+php5で日本語が表示されません。 UTF-8で設定したいのですが、 C:\WINDOWS\php.iniの設定>下記はとあるサイトを参考にしました mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.substitute_character = none mbstring.detect_order = UTF-8,SJIS-win,eucJP-win     or mbstring.detect_order = UTF-8 C:\WINDOWS\system32\php_mbstring.dllに入れました。 ですが、php_infoで確認してもmb_系が全くでてきません。 何か他の設定(抜け?)があるのでしょうか?

    • 締切済み
    • PHP
  • さくらインターネットでphp.iniの設定が反映されない

    いつもお世話になっています。 さくらインターネットの共用サーバにPHP5,PEARをインストールし、 PHPプログラムにて、mb_convert_encoding()を実行すると、 Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in ・・・ と表示されました。 php.iniの設定内容を疑って、内容を確認したところ、 さくらインターネットのコントロールパネルからphp.iniを更新しているのですが、 phpinfo()で見るとmbstringの設定項目が反映されていないのです。 ■phpinfo()の表示内容: Multibyte Support enabled Multibyte string engine libmbfl Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) version 4.4.4 Multibyte regex (oniguruma) backtrack check On Directive Local Value Master Value ------------------------------------------------------------- mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input pass pass mbstring.http_output pass pass mbstring.internal_encoding ISO-8859-1 no value mbstring.language neutral neutral mbstring.strict_detection Off Off mbstring.substitute_character no value no value ■php.iniの中の下記の設定項目が反映されていることは確認できました。 cgi.fix_pathinfo=1 register_long_arrays = on ■mbstringのphp.iniでの設定は下記の通りです。 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translastion = On mbstring.detect_order = auto mbstring.substitute_character = none; ■phpinfo()で表示したその他の項目 ・PHP Version 5.2.1 ・FreeBSD ・Configuration File (php.ini) Path /home/example/www/php.ini -------------------------------------------------------------- さくらインターネットのコントロールパネルからphp.iniを更新すると通常は実行時に反映されるのですが、 なぜ、mbstringに関しての設定が反映されないのか、どうすれば反映されるようになるか、わかる方がいらしたら教えてください。

    • 締切済み
    • PHP
  • Fatal error: Call to undefined function mb_language

    質問させていただきます。 以下の内容を実行すると、「Fatal error: Call to undefined function mb_language」と表示され、メールの送信が行えず、 過去の事例などから、php.iniのmbstringの設定や、 extension=php_mbstring.dllの設定を行いましたが、 現象は変わりませんでした。 phpinfoで確認しても、マルチバイトの設定が表示されず困っております。 mb_language("Ja"); mb_internal_encoding("SJIS"); if(mb_send_mail($to, $subject, $msg, $header)) 設定は以下のようにしました。 extension=php_mbstring.dll ※コメントを解除 ・ ・ [mbstring] ; language for internal character representation. mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) mbstring.internal_encoding = UTF-8 ; http input encoding. mbstring.http_input = pass ; http output encoding. mb_output_handler must be ; registered as output buffer to function mbstring.http_output = pass ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. mbstring.encoding_translation = off ; automatic encoding detection order. ; auto means mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII ; substitute_character used when character cannot be converted ; one from another mbstring.substitute_character = none; ; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions mbstring.func_overload = 0

    • ベストアンサー
    • PHP

専門家に質問してみよう