လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Multi-byte string ကိုပြုပြင်ခြင်းအတွက် mb_get_info လျှောက်လွှာနည်းစနစ်

Multi-byte string ကိုပြုပြင်ခြင်းအတွက် mb_get_info လျှောက်လွှာနည်းစနစ်

gitbox 2025-05-13

MB_Get_info function ၏အဓိကလုပ်ဆောင်ချက်မှာ Mbstring extension ၏ configuration information ကိုပြန်လည်ရယူရန်ဖြစ်သည်။ ဤသည်ခင်းကျင်းမှုတွင်လက်ရှိပတ်ဝန်းကျင်တွင် MBString အမျိုးမျိုးသော configurations အမျိုးမျိုးပါဝင်သည်။

function ရှေ့ပြေးပုံစံ:

 mb_get_info(string $type = "all"): array
  • parameter သည်ဖော်ပြချက် :

    • $ အမျိုးအစား - ပြန်လည်ရယူရန်အချက်အလက်အမျိုးအစားကိုသတ်မှတ်သည်။ ပုံသေတန်ဖိုးသည် configuration information အားလုံးကိုရရှိရန် "အားလုံး" ဖြစ်သည်။ အခြားရရှိနိုင်သည့်တန်ဖိုးများတွင် -

      • "internal_encoding" : လက်ရှိ internal character encoding ။

      • "http_input" : http input ကိုအက်ခရာ encoding ။

      • "http_output" : http output ကိုဇာတ်ကောင် encoding ။

      • "Mbstring.enting_translation" : အက်ခရာ encoding ပြောင်းလဲခြင်းကိုဖွင့်ထားရှိမရှိ။

      • "Mbstring.function_overload" : function overloading ကိုဖွင့်ထားရှိမရှိ။

      • "Mbstring.language" : locale settings ။

      • "Mbstring.http_Outv Process_conv_mimetype" : အက်ခရာ encoding ပြောင်းလဲခြင်းကိုဖွင့်ထားသည်ရှိမရှိ။

Value ကိုပြန်သွားပါ

MB_GEGET_INFO function သည် configuration ပစ္စည်းများပါ 0 င်သောခင်းကျင်းမှုကိုပြန်လည်ရောက်စေသည်။

2 ။ ဥပမာ MB_Get_info function ကိုအသုံးပြုမှု

Mbstring Configuration နှင့်သက်ဆိုင်သောသတင်းအချက်အလက်ရရှိရန် MB_GET_INFO function ကိုမည်သို့အသုံးပြုရမည်ကိုအောက်ပါဥပမာတစ်ခုဖြစ်သည်။

 <?php
// အားလုံးရယူပါmbstringကွက်ကွက်ကေျာင်း
$info = mb_get_info();
print_r($info);

// internal character encoding setting ကိုရယူပါ
$internal_encoding = mb_get_info("internal_encoding");
echo "လက်ရှိပြည်တွင်းရေး encoding:$internal_encoding\n";

// ရယူHTTPinput ကိုအက်ခရာ encoding settings ကို
$http_input = mb_get_info("http_input");
echo "HTTPencoding ကိုရိုက်ထည့်ပါ:$http_input\n";
?>

ရလဒ်ရလဒ်မှာ -

 Array
(
    [internal_encoding] => UTF-8
    [http_input] => auto
    [http_output] => UTF-8
    [mbstring.encoding_translation] => 1
    [mbstring.func_overload] => 0
    [mbstring.language] => Japanese
    [mbstring.http_output_conv_mimetype] => 
)
လက်ရှိပြည်တွင်းရေး encoding:UTF-8
HTTPencoding ကိုရိုက်ထည့်ပါ:auto

ဒီဥပမာမှာ MBString configuration information အားလုံးကိုရဖို့နဲ့ print_r မှတဆင့်ပုံနှိပ်ထုတ်ဝေသော MB_Get_info () ကို ပထမဆုံးအသုံးပြုပါ။ ထို့နောက်ကျွန်ုပ်တို့သည်အတွင်းပိုင်း encoding နှင့် http input encoding အသီးသီးနှင့်မျက်နှာပြင်သို့ထုတ်လွှင့်သည်။

3 ။ Multi-byte string ကိုအပြောင်းအလဲနဲ့အတွက်အများအပြားလက်တွေ့ကျတဲ့နည်းစနစ်

1 ။ မှန်ကန်သော encoding ကိုသတ်မှတ်ပါ

Multibyte ကြိုးနှင့်အလုပ်လုပ်သောအခါမှန်ကန်သောဇာတ်ကောင် encoding ကိုသတ်မှတ်ရန်အလွန်အရေးကြီးသည်။ MB_Internal_encoding () PHP scripts ၏ internal character encoding ကိုသတ်မှတ်ရန်အသုံးပြုနိုင်သည်။ UTF-8 encoding ကိုများသောအားဖြင့်ဘာသာစကားအများစုတွင်ဇာတ်ကောင်များကိုထောက်ပံ့နိုင်သည့်အတွက်များသောအားဖြင့်အကြံပြုသည်။

 mb_internal_encoding("UTF-8");

2 ။ strings process ဖို့ MB_strlen နှင့် MB_substr ကို သုံးပါ

strlen နှင့် sub_strlen နှင့်မတူဘဲ MB_Strlen နှင့် MB_Substrinte ဇာတ်ကောင်မှန်ကန်စွာကိုင်တွယ်။ ဥပမာအားဖြင့်တရုတ်စာလုံးများသည် UTF-8 encoding အောက်ရှိ 3 bytes 3 ခုယူပြီး strlen မှားယွင်းစွာမှားယွင်းစွာစဉ်းစားမိသည်။ MB_Strlen သည် ဤစာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။

 $str = "မင်္ဂလာပါ,ကမ်ာဘ";
echo mb_strlen($str, "UTF-8"); // ထုတ်လုပ်ခြင်း:6

အလားတူပင် MB_Subtrcr သည် စာလုံးရေကိုမဖျက်ဆီးဘဲ Multibyte Strings ကိုကြားဖြတ်ရန်အသုံးပြုနိုင်သည်။

 echo mb_substr($str, 0, 2, "UTF-8"); // ထုတ်လုပ်ခြင်း:မင်္ဂလာပါ

3 ။ encoding ပြောင်းခြင်းအတွက် MB_ConVert_encoding ကို သုံးပါ

သင်၏ပရိုဂရမ်သည်မတူညီသော encodings ဖြင့်ကြိုးများကိုကိုင်တွယ်ရန်လိုအပ်ပါက MB_ConVert_encoding သည် encoding ပြောင်းလဲခြင်းအတွက်အလွန်အဆင်ပြေနိုင်သည်။

 $str = "こんにちは";
$converted = mb_convert_encoding($str, "UTF-8", "SJIS");
echo $converted; // ထုတ်လုပ်ခြင်း:こんにちは

4 ။ string encoding detect

အချို့သော application များတွင် string တစ်ခု encoding အမျိုးအစားကိုသင်ဆုံးဖြတ်ရန်လိုအပ်နိုင်သည်။ MB_DETEEct_encoding function ကို string တစ်ခု၏ encoding ကိုရှာဖွေရန်အသုံးပြုနိုင်သည်။

 $str = "မင်္ဂလာပါ,ကမ်ာဘ";
$encoding = mb_detect_encoding($str, "UTF-8, SJIS, eucjp-win");
echo $encoding; // ထုတ်လုပ်ခြင်း:UTF-8

5 ။ Multibyte string ကို set overloading

တစ်ခါတစ်ရံတွင် Multibyte စာလုံးများကိုစနစ်တကျကိုင်တွယ်ရန် Mbstring functions များ (ဥပမာ substring fromst etc) သို့အချို့သော string forction များကိုအလိုအလျောက် overload လုပ်ချင်သည်။ function overloading ကို enable လုပ်ရန် mbstring.functring.functringg_overload ညွှန်ကြားချက်ကိုသင်အသုံးပြုနိုင်သည်။

 // စွမ်းဆောင်နိုင်စေmbstringfunction overloading
ini_set('mbstring.func_overload', 7);

ဤနည်းအားဖြင့် PHP သည် strtolower နှင့် substrts ကဲ့သို့သောလုပ်ဆောင်မှုများကိုခေါ်ဆိုသည့်လုပ်ဆောင်မှုများသည် multi-byte အက္ခရာများကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်ရန်အတွက် MB_Strotlowlower နှင့် MB_Substrstrin စသည်တို့ကိုအလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။

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

MB_Get_info function သည် PHP developer များကို Mbstring Configurations ကိုကြည့်ရှုရန်လွယ်ကူသောနည်းလမ်းများကိုကြည့်ရှုရန်လွယ်ကူသောနည်းလမ်းများဖြင့်ပြုလုပ်နိုင်သည်။ encoding setting ကို setting လုပ်ခြင်းဖြင့် Multibyte string function များကိုအသုံးပြုခြင်းနှင့် function overloading ကို အသုံးပြု. developer များသည်အမျိုးမျိုးသောဘာသာစကားများနှင့်ဇာတ်ကောင်အစုံများကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤ Multibyte String Struction Techniet ကိုအသုံးပြုခြင်းသည်ဘာသာစကားမျိုးစုံနှင့်ဇာတ်ကောင်အစုံများကိုထောက်ပံ့သော application များဖွံ့ဖြိုးတိုးတက်ရေးအတွက်ဤ Multibyte String Struction Technietes ကိုအသုံးပြုခြင်းအတွက်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါး၏နိဒါန်းမှတစ်ဆင့် MB_get_info နှင့်အခြား Mbstring ကိုပိုမိုကျွမ်းကျင်စွာလုပ်ဆောင်နိုင်သည့်ဖွံ့ဖြိုးမှုထိရောက်မှုနှင့်ကုဒ်အရည်အသွေးကိုတိုးတက်စေရန်အတွက်ကျွမ်းကျင်စွာလုပ်ဆောင်နိုင်သည်။