いつでも医師に相談、gooドクター

が未定義エラーになって使えないのですが
この関数を使えるようにするには何を追加インストールすればいいのでしょうか?

gooドクター

A 回答 (4件)

一応、インストールし直す前にphpのシステム情報を確認してください。


<? phpinfo(); ?>
で表示されるページ内にmbstringの項目が無ければ
インストールし直すしかありません。
そうでないなら、php.ini内の設定を見直してみて下さい。

mbstringの項目が無くて、RPMでインストールされていたならば
同じバージョンのSRPMファイルがあるはずなので、
それのSPECファイルを編集してConfigureオプションを追加して下さい。
その後、Buildして上書きアップデートすれば良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます
確認しましたが項目はありませんでした
インストールしかなさそうです

お礼日時:2005/09/29 14:47

すみません。


勘違いをしておりました。
mbstring関連で未定義になると言うことはphpのインストール時に
オプションをしてしていなかったのだと思います。
Configureコマンド実行時のオプションに下記を追加してください。

--enable-mbstring
--enable-mbstr-enc-trans
--enable-mbregex

これで、mbstring関連の関数はすべて使えると思います。
恐らくソースからインストールされているのだと思うので
インストール手順などは割愛します。
    • good
    • 0
この回答へのお礼

ありがとうございます
インストールしなおさなければならないのですね
FedoraCore3の標準インストールのものなのでインストールしなおすと依存関係によって何かが動かなくなる可能性があります
覚悟がいりますね

お礼日時:2005/09/29 11:31

extension=php_mbstring.dll


となっていますか?
;でエスケープとかされてませんか?
    • good
    • 0
この回答へのお礼

ありがとうございます
どうやらインストールしなおさないとだめみたいです

お礼日時:2005/09/29 11:28

PHPの4.3.x以降ではphp.iniに下記のオプションを指定しておかないと


日本語エンコードの自動判別が正常に行われません。

mbstring.language = Japanese

※php.iniを変更した際はwebサーバを再起動して下さい。

レンタルサーバでそう言った設定が出来ない場合は
スクリプトの最初に下記の宣言をしてみて下さい。

mb_language( 'Japanese' );

この回答への補足

ありがとうございます
やはり同じエラーがでます

ちなみに設定場所付近は以下のようです

[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 = 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

; enable automatic encoding translation accoding 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 = auto

; 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

補足日時:2005/09/28 21:20
    • good
    • 0
この回答へのお礼

エラーメッセージは以下です

Fatal error: Call to undefined function: mb_convert_encoding() in /var/www/html/gomi/gomi1.php on line 7

お礼日時:2005/09/28 21:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング