分享

phpMyAdmin的mbstring问题

 爱上你的微笑 2007-04-08
操作环境:
Fedora Core 3
Apache/2.0.52 (built: Oct 15 2004 11:39:29 )
PHP 4.3.9 (cgi) ( built: Oct 20 2004 14:52:04 )
phpMyAdmin 2.6.4-pl3

今天打开phpMyAdmin突然出现如下红字警告:

linux PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.

英文即是:The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.

==================================================================
解决方法:安装 php-mbstring-4.3.9-3.i386.rpm 包,重启apache即可!
==================================================================

过程:

搜索了一下,好像是很常见的问题,但大多是windows平台下的解决方法:
windows平台:
修改php.ini文件,去掉 ;extension=php_mbstring.dll 前面的分号。

unix平台:
打开/etc/php.ini
把 ;extension=php_mbstring.so 改成 extension=php_mbstring.so 。

但我的fc3的/etc/php.ini文件里只有:

[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

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;    extension=modulename.extension
;
; For example:
;
;    extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.   Specify the location of the extension with the
; extension_dir directive above.


;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;

; Directory in which the loadable extensions (modules) reside.
extension_dir = /usr/lib/php4



extension_dir = /usr/lib/php4   应该是个关键噢。里面放置了扩展模块。

又找到个方法:
说是要重新编译安装php:
# ./configure --enable-mbstring

可是我喜欢系统自带安装的,这样自己编译好麻烦啊...

搜索英文信息,找到:
# yum install php-mbstring

哈,肯定是它了!找来FC3第四张光盘里的php-mbstring-4.3.9-3.i386.rpm ,安装,重启apache,搞定!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多