|
2#

楼主 |
发表于 2007-9-11 15:29:29
|
只看该作者
phpMyAdmin的mbstring问题2007年03月14日 下午 12:01[转自Jumbo Frame]
操作环境:
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,搞定!呵呵```` |
|