PHP Development တွင် Multibyte ကြိုးများနှင့်ဆက်ဆံရာတွင်အထူးသဖြင့်မတူညီသောဖောက်သည်များထံမှဘာသာစကားမျိုးစုံ 0 ဘ ် ဆိုဒ်များသို့မဟုတ်အပြောင်းအလဲနဲ့အချက်အလက်များကိုပြုပြင်သည့်အခါ, MB_HttP_INPPOPT () နှင့် MB_GET_INFO () နှင့် MB_Get_info () နှင့် MB_Get_info () နှင့် MB_Get_info () သည်အလွန်လက်တွေ့ကျသောကိရိယာများဖြစ်သည်။
ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခုမှတစ်ဆင့် HTTP တောင်းဆိုမှုများတွင်စာလုံးအစုအဝေးအတွင်းရှိအက်ခရာသင်္ကေတများရရှိရန်နှင့်၎င်းတို့၏အသုံးပြုမှုနှင့်ကွဲပြားခြားနားမှုများကိုရှင်းပြသည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
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 ကိုရှာဖွေတွေ့ရှိနိုင်သည်။
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 တွင်အသုံးပြုသောအရာကိုစစ်ဆေးရန်ပထမဆုံးရွေးချယ်မှုဖြစ်သည်။
သင် 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 နဲ့မကိုက်ညီဘူးလား,
တောင်းဆိုမှုတွင်အမှန်တကယ်အသုံးပြုသောဇာတ်ကောင် encoding ကိုရရှိရန် MB_HTTP_INPPOPER () ကိုသုံးပါ။
MB_Get_info () ကိုသုံးပါ ။
နှစ်ခုပေါင်းစပ်ခြင်းသည် ပိုမို. ပြည့်စုံသောနားလည်မှုနှင့် coding ပြ issues နာများကို debugging လုပ်ခြင်းကိုခွင့်ပြုထားသည်။
ဘာသာစကားမျိုးစုံဝက်ဘ်ဆိုက်များသို့မဟုတ်နိုင်ငံတကာပုံစံအချက်အလက်များကိုထုတ်ယူသောအခါ Mbstring ကို အမြဲတမ်းဖွင့်ထားပြီးမှန်ကန်စွာဖွင့်ထားပြီးမှန်ကန်စွာဖွင့်ရန်အကြံပြုသည်။
သငျသညျ carbling ဇာတ်ကောင်ကုဒ်ပြ problem နာကို debging နေကြပြီလား,