PDA

View Full Version : تابع mb_internal_encoding رو لوکالم اجرا نمی شه ؟



pooyesh
یک شنبه 02 اردیبهشت 1386, 20:26 عصر
کد زیر رو که روی لوکاک اجرا می کنم خطا می ده ولی روی سرورم جواب می ده و درست عمل می کنه با اینکه PHP وری سرورم پایین تر از PHP روی لوکال می باشد

کد :

<?php

mb_internal_encoding("UTF-8");
$string = "سلام";
$mystring = mb_substr($string,3,1);
echo $mystring;
?>

متن خطا :
Fatal error: Call to undefined function mb_internal_encoding() in C:\www\3.php on line 3

armin390
دوشنبه 03 اردیبهشت 1386, 19:30 عصر
چون اکستنشن mbstring فعال نشده!!

pooyesh
دوشنبه 03 اردیبهشت 1386, 19:35 عصر
تو php.ini فعال کردم ولی پیغام داد که dll موجود نیست با اینکه dll رو از اینترنت پیدا کردم و در جای مخصوص اون قرار دادم بازم پیغام میده که این اکستنشن رو نداره

armin390
دوشنبه 03 اردیبهشت 1386, 19:42 عصر
ریستارت کردید وب سرور رو؟
dll مربوط به ورژن php شما بود؟

pooyesh
دوشنبه 03 اردیبهشت 1386, 21:25 عصر
آره ری استارت هم کردم فایده نداشت
dll برای همون ورژن رو گرفتم خودش بود البته با توجه به اطلاعات phpinfo()

armin390
دوشنبه 03 اردیبهشت 1386, 21:57 عصر
http://www.php.net/manual/en/ref.mbstring.php




Installation

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install (http://ir.php.net/manual/en/install.php) section for details.
The following configure options are related to the mbstring module.
--enable-mbstring: Enable mbstring functions. This option is required to use mbstring functions.
libmbfl™ is necesarry for mbstring. libmbfl™ is bundled with mbstring. If libmbfl™ is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.
As of PHP 4.3.0, mbstring extension provides enhanced support for Simplified Chinese, Traditional Chinese, Korean, and Russian in addition to Japanese.
For PHP 4.3.3 or before, To enable that feature, you will have to supply either one of the following options to the LANG parameter of --enable-mbstring=LANG; --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 (default). To enable all supported encoding, use --enable-mbstring=all.
Note: As of PHP 4.3.4, all supported encoding by libmbfl™ is enabled with --enable-mbstring.

--enable-mbstr-enc-trans : Enable HTTP input character encoding conversion using mbstring conversion engine. If this feature is enabled, HTTP input character encoding may be converted to mbstring.internal_encoding automatically.
Note: As of PHP 4.3.0, the option --enable-mbstr-enc-trans was eliminated and replaced with the runtime setting mbstring.encoding_translation. HTTP input character encoding conversion is enabled when this is set to On (the default is Off).

--disable-mbregex: Disable regular expression functions with multibyte character support.

adaman
دوشنبه 03 اردیبهشت 1386, 22:14 عصر
کد زیر رو که روی لوکاک اجرا می کنم خطا می ده ولی روی سرورم جواب می ده و درست عمل می کنه با اینکه PHP وری سرورم پایین تر از PHP روی لوکال می باشد

کد :

<?php

mb_internal_encoding("UTF-8");
$string = "سلام";
$mystring = mb_substr($string,3,1);
echo $mystring;
?>

متن خطا :
Fatal error: Call to undefined function mb_internal_encoding() in C:\www\3.php on line 3

Zend Optimizer نصبه رو سیستم ؟
اگه جواب بله هست ، کلید IniFilePath رو از مسیر زیر در رجیستری حذف نمایید.

HKEY_LOCAL_MACHINE\SOFTWARE\PHP

fakher
پنج شنبه 04 مهر 1387, 13:56 عصر
سلام من mdstring را فعال کردم و حتي در php.ini هم ديده مي شه اما باز به هنگام اجراي توابع خطاي فراخواني تابع تعريف نشده مي آيد.
قسمتي از phpinfo():





mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding ISO-8859-1 no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value


در تنظيمات php.ini چه خطهايي را بايد اظافه کرد؟

لطفا جواب فوري؟ مرسي.