လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_GEget_info နှင့်အတူ web coding စစ်ဆေးနေသည့်အခါမကြာခဏမေးခွန်းများမေး

MB_GEget_info နှင့်အတူ web coding စစ်ဆေးနေသည့်အခါမကြာခဏမေးခွန်းများမေး

gitbox 2025-05-29

Web encoding ရှာဖွေတွေ့ရှိခြင်းသို့မဟုတ်ပြုပြင်ခြင်းပြုလုပ်သောအခါ PHP ၏ MB_Get_info () function သည်လက်ရှိ Multibyte string setting ကိုသတင်းအချက်အလက်ပေးနိုင်သည်။ ၎င်းသည်အလွန်အသုံးဝင်သည်။ သို့သော်အမှန်တကယ်အသုံးပြုစဉ်တွင် developer များသည်ပြ problems နာအချို့ကိုမကြာခဏကြုံတွေ့ရတတ်ကြသည်။ ဤဆောင်းပါးသည် MB_Get_info () ကိုစစ်ဆေးရန်အတွက် MB_Get_info () ကိုအသုံးပြုသောအခါအများအားဖြင့်အမှားအယွင်းများနှင့်ဖြေရှင်းနည်းများကိုအကျဉ်းချုပ်ဖော်ပြထားသည်။

1 ။ Mbstring extension ကိုလျစ်လျူရှုပါ

အမှားအယွင်း - 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 () ပုံမှန်အလုပ်လုပ်သည်ကိုအတည်ပြုပါ။

2 ။ 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";

3 ။ အတွင်းပိုင်း 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());

4 ။ Parameters တွေကိုသတ်မှတ်ဖို့မေ့နေတယ်, သတင်းအချက်အလက်မပြည့်စုံပါ

အမှားအယွင်း - 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 () ကို ဖတ်ရှုခြင်းနည်းလမ်းဖြင့် ဦး စားပေးပေးပါ။