လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> HTTP တောင်းဆိုမှုတွင် encoding လုပ်ရန် MB_HTTP_INPATE ဖြင့် MB_HTTP_INPATATE ကိုအသုံးပြုနည်း

HTTP တောင်းဆိုမှုတွင် encoding လုပ်ရန် MB_HTTP_INPATE ဖြင့် MB_HTTP_INPATATE ကိုအသုံးပြုနည်း

gitbox 2025-05-29

PHP Development တွင် Multibyte ကြိုးများနှင့်ဆက်ဆံရာတွင်အထူးသဖြင့်မတူညီသောဖောက်သည်များထံမှဘာသာစကားမျိုးစုံ 0 ဘ ဆိုဒ်များသို့မဟုတ်အပြောင်းအလဲနဲ့အချက်အလက်များကိုပြုပြင်သည့်အခါ, MB_HttP_INPPOPT () နှင့် MB_GET_INFO () နှင့် MB_Get_info () နှင့် MB_Get_info () နှင့် MB_Get_info () သည်အလွန်လက်တွေ့ကျသောကိရိယာများဖြစ်သည်။

ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခုမှတစ်ဆင့် HTTP တောင်းဆိုမှုများတွင်စာလုံးအစုအဝေးအတွင်းရှိအက်ခရာသင်္ကေတများရရှိရန်နှင့်၎င်းတို့၏အသုံးပြုမှုနှင့်ကွဲပြားခြားနားမှုများကိုရှင်းပြသည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

1 ။ mb_http_input - http input ၏ character encoding ကိုရယူပါ

mb_http_input () function () function ကို http input ၏ character encoding ကို detect လုပ်ရန်အသုံးပြုနိုင်ပါသည်။ ထည့်သွင်းထားသည့် input types များထည့်သွင်းနိုင်သည်။

  • 'g' : ဒေတာကိုရယူပါ

  • 'p' : post ဒေတာ

  • 'c' : Cookie ဒေတာ

  • 's' : string input ကို (အားလုံး)

  • 'i' : အလိုအလျောက်ရှာဖွေတွေ့ရှိမှု (ဦး စားပေး: Post> Get> Cookie)

နမူနာကုဒ်:

 <?php
// စမ်းသပ်မှု POST ဒေတာ၏ဇာတ်ကောင် encoding
$post_encoding = mb_http_input('P');

if ($post_encoding) {
    echo "POST တောင်းဆိုထားသောဇာတ်ကောင် encoding သည်: {$post_encoding}\n";
} else {
    echo "未能စမ်းသပ်မှု到 POST encoding တောင်းဆိုခဲ့သည်\n";
}
?>

အကယ်. သင်သည်အချက်အလက်များကိုပုံစံဖြင့်တင်ပြပါကဥပမာ -

 <form method="post" action="https://gitbox.net/submit.php">
  <input type="text" name="username">
  <input type="submit" value="နားထောင်">
</form>

အထက်ပါ PHP script သည်သင်၏တင်သွင်းထားသော စာမူ ၏အချက်အလက်များ (UTF-8 သို့မဟုတ် EUC-JP) မှအသုံးပြုသော encoding ကိုရှာဖွေတွေ့ရှိနိုင်သည်။

2 ။ mb_get_info - Mbstring Configuration Information ကိုရယူပါ

MB_GET_INFO () သည် Mbstring ၏လက်ရှိပြင်ဆင်မှုအချက်အလက်များကိုပြန်ပို့နိုင်သည့် multi-functional diagnostic function ဖြစ်သည်။ ခေါ်ဆိုမှုစဉ်အတွင်း parameters များကိုမဖြတ်သန်းပါကသတင်းအချက်အလက်အားလုံးကိုပြန်ပို့လိမ့်မည်။ "http_input" ကဲ့သို့သောအချို့သော setting ကိုရှာဖွေရန်တိကျသောစီမံကိန်းအမည်တစ်ခုတွင်လည်းဖြတ်သွားနိုင်သည်။

နမူနာကုဒ်:

 <?php
// အားလုံးရယူပါ mbstring အကေြာင်းကြားချက်
$mb_info = mb_get_info();
echo "ယခု HTTP Input Code ကိုသတ်မှတ်ထားသည်: " . $mb_info['http_input'] . "\n";

// သို့မဟုတ်ရုံရ http_input ခဲှခြား
$http_input = mb_get_info("http_input");
echo "HTTP encoding settings ကိုရိုက်ထည့်ပါ: {$http_input}\n";
?>

မှတ်ချက် - MB_GET_INFO ("http_input") သည် အမှန်တကယ် တောင်းဆိုမှုဒေတာ encoding ထက် mbstring ၏ default input encoding settings ကိုပြန်ပို့သည် ထို့ကြောင့် MB_HTTTP_INPATE () သည် "အမှန်တကယ်တောင်းဆိုမှုတွင်မည်သည့် encoding တွင်အသုံးပြုသောအရာကိုစစ်ဆေးရန်ပထမဆုံးရွေးချယ်မှုဖြစ်သည်။

3 ။ နှစ်ခုလုပ်ဆောင်ချက်များ၏ပေါင်းစပ်

သင် server ကို client မှအချက်အလက်များကိုမှန်ကန်စွာလက်ခံရန်နှင့်လုပ်ငန်းစဉ်အချက်အလက်များကိုမှန်ကန်စွာလက်ခံရန်နှင့်လုပ်ငန်းစဉ်ကိုသေချာစေရန်သေချာစေလိုပါကအောက်ပါတို့သည်လက်တွေ့လျှောက်လွှာနည်းလမ်းဖြစ်သည်။

 <?php
// ပုံမှန်ဇာတ်ကောင် encoding သတ်မှတ်ထား
mb_internal_encoding("UTF-8");
mb_http_input("auto");

// ရယူ POST အမှန်တကယ်ဇာတ်ကောင် encoding တောင်းဆိုခဲ့သည်
$actual_encoding = mb_http_input('P');

// ရယူ mbstring ယခု HTTP ဆက်တင်ရိုက်ထည့်ပါ
$configured_encoding = mb_get_info("http_input");

echo "အမှန်တကယ်တောင်းဆိုချက်ကုဒ်ဖြစ်ပါတယ်: {$actual_encoding}\n";
echo "mbstring ပြုပြင်ခြင်း HTTP ဆက်တင်ရိုက်ထည့်ပါ为: {$configured_encoding}\n";
?>

ဒီကုဒ်က developer တွေက burbled class ကိုပြ troubl နာကိုဖြေရှင်းဖို့ကူညီပေးတယ်။ 0 န်ဆောင်မှုခံယူသူက server configuration နဲ့မကိုက်ညီဘူးလား,

4 ။ အကျဉ်းချုပ်

  • တောင်းဆိုမှုတွင်အမှန်တကယ်အသုံးပြုသောဇာတ်ကောင် encoding ကိုရရှိရန် MB_HTTP_INPPOPER () ကိုသုံးပါ။

  • MB_Get_info () ကိုသုံးပါ

  • နှစ်ခုပေါင်းစပ်ခြင်းသည် ပိုမို. ပြည့်စုံသောနားလည်မှုနှင့် coding ပြ issues နာများကို debugging လုပ်ခြင်းကိုခွင့်ပြုထားသည်။

ဘာသာစကားမျိုးစုံဝက်ဘ်ဆိုက်များသို့မဟုတ်နိုင်ငံတကာပုံစံအချက်အလက်များကိုထုတ်ယူသောအခါ Mbstring ကို အမြဲတမ်းဖွင့်ထားပြီးမှန်ကန်စွာဖွင့်ထားပြီးမှန်ကန်စွာဖွင့်ရန်အကြံပြုသည်။

သငျသညျ carbling ဇာတ်ကောင်ကုဒ်ပြ problem နာကို debging နေကြပြီလား,