Home  >  Article  >  Backend Development  >  PHP 有关MB模块解决思路

PHP 有关MB模块解决思路

WBOY
WBOYOriginal
2016-06-13 10:12:23802browse

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.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn