mbstring库 全称是Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8
其他的编码的语言是没办法在php程序上正确显示的。
解决的方法就是通过php的mbstring函数库来解决
其安装是在编译php的时候加上--enable-mbstring=?
"="后面就是跟需要支持的语言,j具体参数如下:--enable-mbstring=cn for Simplified Chinese support, --enable-mbstring=tw for Traditional Chinese support, --enable-mbstring=kr for Korean support, --enable-mbstring=ru for Russian support, and --enable-mbstring=ja for Japanese support.
“没有发现PHP 的扩展设置mbstring,而当前系统好像在使用宽字符集。没有mbstring
扩展的phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.”
这是因为我们在装PHP的时候没有把mbstring模块加上。
在win下很简单啦,只要到配置文件里把mbstring.dll前面的分号去掉,并把文件放到相应的地方就可以了,在linux下就不同了,但是也很简单。只要在编译PHP的时候加上参数
--with-mbstring --enable-mbstring=all
就可以了。
我用的是ubuntu11.04 提示with参数不正确,于是去掉了with,就可以了
找到了解决的办法,只可惜服务器不是自己的,无法使用,特地贴出来,供以后需要的朋友参考:
出现“没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.”
解决方法:
win系统:
打开c:/windows/php.ini
把
;extension=php_mbstring.dll
改成
extension=php_mbstring.dll
unix:
打开/etc/php.ini
把
;extension=php_mbstring.so
改成
extension=php_mbstring.so
可能通过查看phpinfo();来确认php.ini的位置以及PHP当前支持的一些特性。
服务器配置可能出现的错误,以及修改。
PHP配置:屏蔽了一些虽然正规但会有偶然突然显示出错的代码 error_reporting = E_ALL改为error_reporting = E_ALL & ~E_NOTICE
修改display_errors 值为 off