Multibyte ကြိုးများနှင့်ဆက်ဆံရာတွင် Mbstring extension သည် PHP အတွက်ခိုင်မာသောအထောက်အပံ့ဖြစ်သည်။ ၎င်းတို့အနက် MB_Get_info () MBString ၏အတွင်းပိုင်းချိန်ညှိမှုအခြေအနေရရှိရန်အလွန်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော် developer များစွာသည်စိတ်ရှုပ်ထွေးမှုများအချို့ကိုတွေ့ကြုံရလိမ့်မည် ။
MB_GET_INFO () သည် PHP Mbstring String Reading enviring enviring enviring envoting ကိုရရှိရန် PHP Mbstring extension တွင် function တစ်ခုဖြစ်သည်။ ၎င်းတွင်သုံးနိုင်သည်။
// အားလုံး setting ကိုသတင်းအချက်အလက်ရယူပါ
$info = mb_get_info();
// သတ်မှတ်ထားသောပစ္စည်းကိုရယူပါ
$encoding = mb_get_info("internal_encoding");
// လက်ရှိ encoding settings ကိုရယူပါ
$current_encoding = mb_get_info("encoding");
ပြန်လာသောအချက်အလက်များသည်များသောအားဖြင့်ပေါင်းသင်းရေးဆိုင်ရာခင်းကျင်းမှုတစ်ခုဖြစ်ပြီးအကြောင်းအရာသည်အောက်ပါအတိုင်းဖြစ်နိုင်သည် -
Array
(
[internal_encoding] => UTF-8
[http_input] => pass
[http_output] => pass
[input_encoding] => UTF-8
[output_encoding] => UTF-8
[language] => neutral
[encoding_translation] => Off
)
PHP ကို Mbstring နှင့်အတူတင်ထားလျှင်စစ်ဆေးရန်အောက်ပါ command ကို run ပါ။
if (function_exists('mb_get_info')) {
echo "mbstring enabled";
} else {
echo "mbstring မဖွင့်ပါ";
}
အကယ်. ပြန်လာသည့် mbstring ကိုမဖွင့်ပါက PHPP.ini တွင် extension ကို enable လုပ်ရန်လိုအပ်သည်။
extension=mbstring
ထို့နောက် PHP 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပါ။
တစ်ခါတစ်ရံတွင် encoding မတိုင်မီနှင့်ပြီးနောက်ပြောင်းလဲမှုများကိုစစ်ဆေးရန်လိုအပ်နိုင်သည်။
echo "ကန ဦး သတင်းအချက်အလက်:\n";
print_r(mb_get_info());
mb_internal_encoding("ISO-8859-1");
mb_http_output("UTF-8");
echo "ပြုပြင်ထားသောသတင်းအချက်အလက်:\n";
print_r(mb_get_info());
ဤနှိုင်းယှဉ်ခြင်းဖြစ်စဉ်သည်သင်၏ချိန်ညှိချက်များသည်အမှန်တကယ်အမှန်တကယ်အကျိုးသက်ရောက်မှုရှိမရှိအနေအထားကိုအထောက်အကူပြုသည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ကျွန်ုပ်တို့သည်နောက်ဆက်တွဲခွဲခြမ်းစိတ်ဖြာမှုအတွက် log ရှိပြန်လာတန်ဖိုးကိုမှတ်တမ်းတင်နိုင်သည်။
file_put_contents("/var/log/mbstring_debug.log", print_r(mb_get_info(), true));
ဖြစ်နိုင်ချေရှိသောအကြောင်းပြချက်များ:
Mbstring extension ကိုမဖွင့်ပါ
PHP ပြုစုသည့်အခါ - mbstring parameter ကိုမထည့်ပါ
ဖြေရှင်းချက် -
Mbstring Module ပါ 0 င်သည်ကို PHPP.ini (သို့ ) Phpinfo () ကိုနှိပ်ပါ
အောက်ပါ command ကို အသုံးပြု. PHP ကိုပြန်လည်ရယူပါ (source code installation အတွက်):
./configure --enable-mbstring
make && make install
Encoding_translation သည် input / output encoding ပြောင်းလဲခြင်းကိုဖွင့်ထားသည်ရှိမရှိဖော်ပြသည်။ ပုံမှန်ကအခြေအနေကိုပိတ်ထားပြီးသင် MB_OUTPOPTER_HANDLER () ကို သုံးပါက၎င်းကိုအလိုအလျောက်ဖွင့်နိုင်သည်။
အဖွင့်နည်းလမ်းမှာအောက်ပါအတိုင်းဖြစ်သည် -
output_handler = mb_output_handler
သို့မဟုတ် code ကို enable:
ob_start("mb_output_handler");
MB_GEget_info () မှပြန်လာသောတန်ဖိုးသည် encoding ကိုသတ်မှတ်ပြီးသည့်နောက်တွင်မပြောင်းလဲနိုင်ကြောင်းသင်တွေ့ရှိပါက setting ၏အတိုင်းအတာသည်မမှန်ကန်ပါ။
mb_internal_encoding("UTF-8"); // မှန်ကန်သော:ပြည်တွင်းရေး encoding ထားပါ
ini_set("default_charset", "UTF-8"); // သာ output ကိုသက်ရောက်သည်
နှစ်ခုလုပ်ဆောင်ချက်များကိုကွဲပြားခြားနားပြီးသူတို့အသုံးပြုသောအခါ၎င်းတို့ကိုခွဲခြားခံရဖို့လိုအပ်ပါတယ်။
ဘာသာစကားမျိုးစုံစာလုံးများကိုကိုင်တွယ်သော 0 ဘ်ဆိုဒ်တစ်ခုကဲ့သို့သောအမှန်တကယ်စီမံကိန်းများတွင်အောက်ပါကုဒ်ကိုစတင်ရန် configuration file သို့ထည့်သွင်းနိုင်သည်။
mb_internal_encoding("UTF-8");
mb_http_input("UTF-8");
mb_http_output("UTF-8");
mb_language("uni");
if (isset($_GET['debug_mb'])) {
echo "<pre>";
print_r(mb_get_info());
echo "</pre>";
}
သင် https://gitbox.net/index.php?debug_mb=1 ကို သင်ရရှိသည့်အခါ, လွယ်ကူစွာ debugging အတွက်လက်ရှိ Mbstring Configuration Information ကိုလျင်မြန်စွာရယူနိုင်သည်။
MB_Get_info () PHP Multibyte String Reading ပတ်ဝန်းကျင်ကိုနားလည်ရန်နှင့် debugging လုပ်ရန်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါး၏ရှင်းလင်းချက်အားဖြင့်ကျွန်ုပ်သည်အသုံးပြုမှုနည်းလမ်းကိုကျွမ်းကျင်ပြီးပြီးသားကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်နိုင်ပြီး, ၎င်းသည်နိုင်ငံတကာနှင့်ဇာတ်ကောင် encoding ပြောင်းလဲခြင်းကဲ့သို့သောအထိခိုက်မခံနိုင်သောအခြေအနေများနှင့်ဆက်ဆံရာတွင်သင်၏ယုံကြည်စိတ်ချရဆုံးလက်ထောက်ဖြစ်လိမ့်မည်။
PHP coding ကျွမ်းကျင်မှုဆိုင်ရာပိုမိုသိရှိလိုပါကကျွန်ုပ်တို့၏တရားဝင်စာရွက်စာတမ်းများကိုကြည့်ရှုခြင်းသို့မဟုတ် developer အသိုင်းအဝိုင်းသို့ဝင်ရောက်ကြည့်ရှုနိုင်သည် ။