Multibyte string processing အတွက် PHP ကိုအသုံးပြုသောအခါ MB_Get_info () နှင့် MB_StrToler () နှင့် MB_Strtolower () သည်ဘုံ multibyte လုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ သို့သော်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအတူတကွအသုံးပြုသောအခါ, စရိုက်များကိုသတ်မှတ်ထားသည့်ဇာတ်ကောင်များကိုလျစ်လျူရှုပါကအထူးသဖြင့်တရုတ်, ဂျပန်,
ဤဆောင်းပါးသည်သာမန်ပြ problems နာများကိုစူးစမ်းလေ့လာသုံးသပ်ပြီးမှန်ကန်သောဇာတ်ကောင်ပြင်ဆင်မှုကိုမှန်ကန်သောဇာတ်လမ်းဖြင့်မည်သို့ရှောင်ရှားရမည်နည်း။
PHP's MB_StrTOWTOWTOWERSTER () function ကိုသုံးရန်အသုံးပြုသည် Multibyte ကြိုးများကိုစာလုံးအသေးများသို့ပြောင်းလဲရန်အသုံးပြုသည်။ ဤပတ် 0 န်းကျင်ကို MB_Internal_encoding () မှသတ်မှတ်ထားပြီး function ကိုခေါ်သည့်အခါ parameters တွေကို parameters တွေကို set ကိုဖြတ်လျှောက်ခြင်းအားဖြင့်ဖျက်သိမ်းနိုင်ပါတယ်။
MB_Get_info () function ကို function ကိုလက်ရှိ Multibyte Configurations ကိုရယူရန်အသုံးပြုသည်။ MB__strTOlower () ကိုမတော်လျော်သောဇာတ်ကောင် set configuration ကို configuration configuration ကိုခေါ်ပါက,
ဤတွင်ပုံမှန်ဥပမာတစ်ခုဖြစ်သည်။
<?php
mb_internal_encoding("ISO-8859-1"); // မှားယွင်းစွာမဟုတ် UTF-8 ကုဒ်
$str = "üBERGANG";
$lower = mb_strtolower($str); // သတ်မှတ်ထားသောစာလုံးအစက်မရှိပါ
echo $lower;
?>
output သည်မျှော်လင့်ထားသည့် übergang မဟုတ်ဘဲ, ဘာဖြစ်လို့လဲဆိုတော့လက်ရှိဇာတ်ကောင် set ကို UTF-8 မဟုတ်,
လက်ရှိ encoding settings ကိုကြည့်ရှုရန် MB_GEGET_INFO () ကိုသုံးပါ။
<?php
print_r(mb_get_info());
?>
"internal_encoding" field output သည်သော့ချက်ဖြစ်သည်။ ဤနေရာတွင် "UTF-8" မဖြစ်လျှင်၎င်းသည် "utf-8" မဖြစ်လျှင်၎င်းသည်မျိုးရိုးဗီဇဘာသာစကားမျိုးစုံပါဝင်မှုအတွက်မသင့်လျော်ဟုဆိုလိုသည်။
<?php
mb_internal_encoding("UTF-8"); // တစ်ကမ္ဘာလုံးကိုသတ်မှတ် UTF-8
$str = "üBERGANG";
$lower = mb_strtolower($str);
echo $lower; // ထုတ်လုပ်ခြင်း:übergang
?>
<?php
$str = "üBERGANG";
$lower = mb_strtolower($str, "UTF-8");
echo $lower; // ထုတ်လုပ်ခြင်း:übergang
?>
ဤနည်းလမ်းသည်ပိုမိုအားကောင်းနေသည်, စနစ်ပုံမှန် encoding သည် UTF-8 မဟုတ်လျှင်ပင်ထိခိုက်လိမ့်မည်မဟုတ်ချေ။
0 က်ဘ်ပုံစံများ, ဥပမာအားဖြင့်ရှေ့တန်းတွင် UTF-8 encoding ကိုကြိုးများဖြင့်ဖြတ်သန်းရန်အသုံးပြုသည်။ သို့သော်နောက်ခံ PHP ပတ်ဝန်းကျင်သည် ISO-8859-1 ကိုအသုံးပြုနေဆဲဖြစ်သည်။
ထို့ကြောင့်စနစ်တစ်ခုလုံးကို အသုံးပြု. utf-8 encoding ကိုအသုံးပြုသော ensure လုပ်ခြင်းသည်ထိုကဲ့သို့သောပြ problems နာများကိုရှောင်ရှားရန်အခြေခံကျသောနည်းလမ်းဖြစ်သည်။
Configuration ကိုကြည့်ရှုရန် MB_GEGET_InFO () ကိုသုံးပါ။ "internal_encoding" သည် "utf-8" ဖြစ်သည်။
ပုံမှန်တန်ဖိုးများအပေါ်မှီခိုမှုကိုရှောင်ရှားခြင်း,
ထည့်သွင်းခြင်းစသည့်အဝင်ဝတွင်သတ်မှတ်ထားသည့်စာလုံးကိုသတ်မှတ်ပါ။
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
mb_regex_encoding("UTF-8");
URL parameters တွေကိုလုပ်ဆောင်တဲ့အခါ MB_ConVert_encoding () ကို သေချာအောင်လုပ်ဖို့သေချာအောင်လုပ်ပါ။
$url = "https://gitbox.net/über";
$url_utf8 = mb_convert_encoding($url, "UTF-8", "auto");
ဘုံဇာတ်ကောင်ပြ problems နာများသည်များသောအားဖြင့် mb_get_info နှင့်ပေါင်းစပ်အသုံးပြုသောအခါ UTF- 8 မဟုတ်သည့် default encoding မဟုတ်သော default encoding မှဖြစ်သည်။ ဤပြ problems နာများကိုပုံဖော်ခြင်းနှင့်သတ်မှတ်ခြင်းကိုစစ်ဆေးခြင်းနှင့်လုပ်ဆောင်ခြင်းကိုစစ်ဆေးခြင်းအားဖြင့်ထိရောက်စွာရှောင်ရှားနိုင်သည်။
CHAOS ကိုသတ်မှတ်ခြင်းသည်အပြည်ပြည်ဆိုင်ရာစီမံကိန်းများတွင်ပရမ်းပတာဖြစ်သည့် charos သည်အလုံးဖြစ်သော်လည်းသေစေနိုင်သောပြ problems နာများထဲမှတစ်ခုဖြစ်သည်ကိုအမြဲသတိရပါ။ သငျသညျအစားအတိအလင်း encodings setting ကိုကြောက်ခြင်းထက်ပိုမိုရှုပ်ထွေးလိမ့်မယ်။ ကြိုတင်ကာကွယ်ရေးသည် debugging ထက် ပို. ကောင်းသည်။