Web encoding ရှာဖွေတွေ့ရှိခြင်းသို့မဟုတ်ပြုပြင်ခြင်းပြုလုပ်သောအခါ PHP ၏ MB_Get_info () function သည်လက်ရှိ Multibyte string setting ကိုသတင်းအချက်အလက်ပေးနိုင်သည်။ ၎င်းသည်အလွန်အသုံးဝင်သည်။ သို့သော်အမှန်တကယ်အသုံးပြုစဉ်တွင် developer များသည်ပြ problems နာအချို့ကိုမကြာခဏကြုံတွေ့ရတတ်ကြသည်။ ဤဆောင်းပါးသည် MB_Get_info () ကိုစစ်ဆေးရန်အတွက် MB_Get_info () ကိုအသုံးပြုသောအခါအများအားဖြင့်အမှားအယွင်းများနှင့်ဖြေရှင်းနည်းများကိုအကျဉ်းချုပ်ဖော်ပြထားသည်။
အမှားအယွင်း - MB_GET_INFO () တိုက်ရိုက်ခေါ်ဆိုပါ။
အကြောင်းရင်းကိုခွဲခြမ်းစိတ်ဖြာခြင်း - MB_Get_info () Mbstring extension ကိုပိုင်သည်။ အကယ်. PHP သည် Mbstring ကို install လုပ်ရန်သို့မဟုတ် enable မလုပ်နိုင်ပါကဆက်နွယ်သောလုပ်ဆောင်မှုများကိုခေါ်သည့်အခါအမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။
Womenroundound - Php.ini ဖိုင်တွင် Mbstring extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။ ဥပမာအားဖြင့်:
extension=mbstring
အကယ်. ဆာဗာကို install မလုပ်ပါက၎င်းကို install လုပ်ရန်အောက်ပါ command ကိုသင်ရည်ညွှန်းနိုင်သည် (Ubuntu ကိုဥပမာအဖြစ်ယူပါ):
sudo apt-get install php-mbstring
sudo service apache2 restart
ထည့်သွင်းပြီးနောက်တွင်သင်၏စာမေးပွဲစာမျက်နှာသို့ဝင်ရောက်ကြည့်ရှုပါ။
https://gitbox.net/test_mb.php
MB_GET_INFO () ပုံမှန်အလုပ်လုပ်သည်ကိုအတည်ပြုပါ။
အမှားအယွင်း - MB_Get_info () သည် ဝဘ်စာမျက်နှာ၏ encoding အချက်အလက်များကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။ ရလဒ်မှာ configuration array ဖြစ်သည်။
အကြောင်းရင်းကိုခွဲခြမ်းစိတ်ဖြာခြင်း - MB_Get_info () သည် 0 က်ဘ်စာမျက်နှာ၏အမှန်တကယ် encoding ကိုတိုက်ရိုက်ပြောပြမည့် အစား PHP Mbstring Configuration (internal encoding configuration (internal encoding confircation) ၏လက်ရှိအခြေအနေကိုပြန်လည်ပေးပို့သည်။
WomeRound - 0 က်ဘ်စာမျက်နှာ၏အမှန်တကယ် encoding ကိုသင်ရှာဖွေလိုပါက MB_Get_info အစား MB_DetEct_encoding ( ) ကိုသုံးသင့်သည်။
ဥပမာ -
$content = file_get_contents('https://gitbox.net/page.html');
$encoding = mb_detect_encoding($content, mb_list_encodings(), true);
echo "ဝဘ် encoding ဖြစ်နိုင်သည်:$encoding";
အမှားအယွင်း - MB_Get_info () ကို Internal encoding ကိုစစ်ဆေးရန်အသုံးပြုသော်လည်း Multibyte ကြိုးများပြုပြင်သည့်အခါ garbled code ကိုအသုံးပြုသည်။
အကြောင်းရင်းခွဲခြမ်းစိတ်ဖြာခြင်း - ပုံမှန် Internal encoding သည် UTF-8 မဖြစ်နိုင်ပါ။
ဖြေရှင်းချက် - ပြုပြင်ခြင်းမပြုမီ,
mb_internal_encoding('UTF-8');
ထို့နောက် setting ကိုအောင်မြင်မှုရှိမရှိစစ်ဆေးရန် MB_GET_INFO () ကိုခေါ်ပါ။
print_r(mb_get_info());
အမှားအယွင်း - MB_GEget_info () ကိုခေါ်သည့်အခါအဘယ် parameter များကိုမပေးခဲ့ပါ။
အကြောင်းရင်းကိုခွဲခြမ်းစိတ်ဖြာခြင်း - MB_Get_info () တိကျသော parameter ( "http_input" , "http_Etput", "internal_encoding" , "internal_encoding", "internal_encoding" စသဖြင့်) ။ အကယ်. parameters တွေကိုမလွန်ပါကသတင်းအချက်အလက်အားလုံးကိုပြန်ပို့လိမ့်မည်။
ဖြေရှင်းချက် - အတွင်းပိုင်း encoding ကဲ့သို့သောအရာတစ်ခုကိုသင်သာစစ်ဆေးလိုပါက၎င်းကိုသင်ဤကဲ့သို့သောစာရေးနိုင်သည်။
$encoding = mb_get_info("internal_encoding");
echo "လက်ရှိပြည်တွင်းရေးကုဒ်ဖြစ်ပါတယ်:$encoding";
Access ရလဒ်ဥပမာ:
https://gitbox.net/show_encoding.php
Web encoding ကို MB_Get_info () ကို သုံး. စစ်ဆေးသည့်အခါသတိရပါ။
Mbstring extension ကိုသေချာအောင်လုပ်ပါ။
၎င်းသည် query setting status ကို encoding မဟုတ်ကြောင်း,
မှန်ကန်သော encoding မှန်ကန်စွာ set နှင့်စစ်ဆေး;
လိုအပ်ချက်များနှင့်အညီသင့်လျော်သော parameterster လွန် pass ။
0 က်ဘ်စာမျက်နှာ၏အမှန်တကယ် encoding ကိုသင်အမှန်တကယ်ရှာဖွေရန်လိုအပ်ပါက MB_detect_encoding () ကို ဖတ်ရှုခြင်းနည်းလမ်းဖြင့် ဦး စားပေးပေးပါ။