PHP 有关MB模块
Fatal error: Call to undefined function mb_internal_encoding() in /usr/local/apache2/htdocs/include/application.php on line 29
[解决办法]
mbstring
查看php.ini里是否加载了php_mbstring.dll
[解决办法]
dll是win下的库,而楼主是Linux。
[mbstring]
;多字节字符串模块支持
mbstring.language = “neutral”
; 默认的NLS(本地语言设置),可设置值如下:
; 默认值”neutral”表示中立,相当于未知。
; “zh-cn”或”Simplified Chinese”表示简体中文
; “zh-tw”或”Traditional Chinese”表示繁体中文
; “uni”或”universal”表示Unicode
; 该指令自动定义了随后的mbstring.internal_encoding指令默认值,
; 并且mbstring.internal_encoding指令必须放置在该指令之后。
mbstring.internal_encoding =
; 本指令必须放置在mbstring.language指令之后。
; 默认的内部编码,未设置时取决于mbstring.language指令的值:
; “neutral” 对应 “ISO-8859-1″
; “zh-cn” 对应 “EUC-CN” (等价于”GB2312″)
; “zh-tw” 对应 “EUC-TW” (等价于”BIG5″)
; “uni” 对应 “UTF-8″
; 提醒:对于简体中文还可以强制设置为”CP936″ (等价于”GBK”)
; 注意:可能 SJIS, BIG5, GBK 不适合作为内部编码,不过”GB2312″肯定没问题。
; 建议手动强制指定
mbstring.encoding_translation = Off
; 是否对进入的HTTP请求按照mbstring.internal_encoding指令进行透明的编码转换,
; 也就是自动检测输入字符的编码并将其透明的转化为内部编码。
; 可移植的库或者程序千万不要依赖于自动编码转换。
mbstring.http_input = “pass”
; 默认的HTTP输入编码,”pass”表示跳过(不做转换)
; “aotu”的含义与mbstring.detect_order指令中的解释一样。
; 可以设置为一个单独的值,也可以设置为一个逗号分隔的列表。
mbstring.http_output = “pass”
; 默认的HTTP输出编码,”pass”表示跳过(不做转换)
; “aotu”的含义与mbstring.detect_order指令中的解释一样。
; 可以设置为一个单独的值,也可以设置为一个逗号分隔的列表。
; 必须将output_handler指令设置为”mb_output_handler”才可以。
mbstring.detect_order =
; 默认的编码检测顺序,”pass”表示跳过(不做转换)。
; 默认值(”auto”)随mbstring.language指令的不同而变化:
; “neutral”和”universal” 对应 “ASCII, UTF-8″
; “Simplified Chinese” 对应 “ASCII, UTF-8, EUC-CN, CP936″
; “Traditional Chinese” 对应 “ASCII, UTF-8, EUC-TW, BIG-5″
; 建议在可控环境下手动强制指定一个单一值
mbstring.func_overload = 0
;SYS
; 自动使用 mb_* 函数重载相应的单字节字符串函数。
; 比如:mail(), ereg() 将被自动替换为mb_send_mail(), mb_ereg()
; 可用 0,1,2,4 进行位组合。比如7表示替换所有。具体替换说明如下:
; 0: 无替换
; 1: mail() → mb_send_mail()
; 2: strlen() → mb_strlen() ; substr() → mb_substr()
; strpos() → mb_strpos() ; strrpos() → mb_strrpos()
; strtolower() → mb_strtolower() ; strtoupper() → mb_strtoupper()
; substr_count() → mb_substr_count()
; 4: ereg() → mb_ereg() ; eregi() → mb_eregi()
; ereg_replace() → mb_ereg_replace() ; eregi_replace() → mb_eregi_replace()
; split() → mb_split()
mbstring.scrīpt_encoding =
; 脚本所使用的编码
mbstring.strict_detection = Off
; 是否使用严谨的编码检测
mbstring.substitute_character =
; 当某个字符无法解码时,就是用这个字符替代。
; 若设为一个整数则表示对应的Unicode值,不设置任何值表示不显示这个错误字符。
; 建议设为”□”
mbstring.strict_encoding = Off ;默认值未知
; enable strict encoding detection.
; 对于这个指令尚无说明文档
[解决办法]
php.ini中找到
;extension=php_mbstring.dll
去掉前面分号。重启apache试试。
[解决办法]
mbstring php已经自带了,编译php的时候带上 -enable-mbstring 即可.重新编译下php吧
或者另外编译 mbstring.