လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> string တစ်ခုသည် MB_Get_info မှတဆင့် UTF-8 encoding ကိုမည်သို့ဆုံးဖြတ်ရမည်နည်း

string တစ်ခုသည် MB_Get_info မှတဆင့် UTF-8 encoding ကိုမည်သို့ဆုံးဖြတ်ရမည်နည်း

gitbox 2025-05-29

PHP ကိုအသုံးပြုပြီးကြိုးများဖြင့်အလုပ်လုပ်သောအခါ, အထူးသဖြင့်ဘာသာစကားမျိုးစုံပါဝင်သည့်အခြေအနေများတွင်ကြိုးများမှန်ကန်စွာ encoding format ဖြင့်မှန်ကန်ကြောင်းသေချာစေရန်အရေးကြီးသည်။ UTF-8 သည်ယခုအချိန်တွင်လူကြိုက်အများဆုံးဇာတ်ကောင် encodings တစ်ခုဖြစ်သည်။ ၎င်းသည်ကမ္ဘာပေါ်တွင်ဘာသာစကားအများစုကိုထောက်ပံ့သည်။ ဤဆောင်းပါးသည် MB_GEgn_info function များနှင့်အတူ UTF-8 encoding သည် Mbstring extension functions များနှင့်ပေါင်းစပ်ခြင်းရှိမရှိမည်သို့ဆုံးဖြတ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

mb_get_info function ကိုနားလည်ပါ

ပထမ ဦး စွာ MB_Get_info () သည်လက်ရှိအတွင်းပိုင်း encoding, ရှာဖွေခြင်းအမှာစာများကဲ့သို့သော Mbstring extension ၏ confircing extension etc. အမျိုးအစားများကိုရယူရန်အသုံးပြုသည် ။ ၎င်းသည် string encoding ကိုတိုက်ရိုက်ရှာဖွေတွေ့ရှိခြင်းမရှိပါ
များသောအားဖြင့်ကျွန်ုပ်တို့သည် MB_DetEct_encoding () function ကိုပေါင်းစပ်မည်။

လက်ရှိ mbstring configuration ကိုကြည့်ရှုရန်, သင်ဤကဲ့သို့သောရေးနိုင်သည်။

 <?php
// စစ်ဆေး mbstring လက်ရှိ configuration ကို
print_r(mb_get_info());
?>

output သတင်းအချက်အလက်တွင်:

  • internal_encoding

  • http_input

  • http_output

  • ဘာသာစကား

  • enoding_translation

  • detect_order

  • အစားထိုး oncharacter နှင့်အပေါ်။

Detect_order တွင် UTF-8 ပါ 0 င်ပါက MB_Detect_encoding () string သည် UTF-8 ကိုရှာဖွေတွေ့ရှိနိုင်သည်။

string ကို UTF-8 ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်

mb_detect_encoding () function ကိုသင်ဤနည်းကိုဆုံးဖြတ်နိုင်သည်။

 <?php
function is_utf8($string) {
    // လိုအပ်မယ်ဆိုရင်,သင်ပထမ ဦး ဆုံးသေချာနိုင်ပါတယ် detect_order ပါဝင်သည် UTF-8
    $info = mb_get_info();
    if (strpos($info['detect_order'], 'UTF-8') === false) {
        // ကိုယ်တိုင်ထောက်လှမ်းအမိန့်ကို set
        mb_detect_order(['UTF-8', 'ISO-8859-1', 'ASCII']);
    }

    // အသုံးပြု mb_detect_encoding စမ်းသပ်ဖို့လာ
    return mb_detect_encoding($string, 'UTF-8', true) === 'UTF-8';
}

// နမူနာ
$text = "ဒါကစမ်းသပ်မှုတစ်ခုပါ";

if (is_utf8($text)) {
    echo "အဆိုပါ string ကိုဖြစ်ပါတယ် UTF-8 ကုဒ်";
} else {
    echo "string ကိုမဟုတ်ပါဘူး UTF-8 ကုဒ်";
}
?>

ဒီကုဒ်ကိုရှင်းပြပါ။

  • MB_Get_info မှတဆင့်လက်ရှိဇာတ်ကောင်ထောက်လှမ်းရေးအမိန့်ကို ဦး စွာစစ်ဆေးပါ။

  • UTF-8 မရှိပါက MB_DETEEct_order () ကိုယာယီချိန်ညှိရန် MB_Detect_order () ကိုသုံးပါ။

  • MB_Detect_encoding () ကို သုံး. တင်းကျပ်သောထောက်လှမ်းရေးကိုညွှန်ပြရန်တတိယ parameter ကို မှန်ကန်စွာ သုံးပါ။

  • နောက်ဆုံးအနေနဲ့ Return ရလဒ်က 'UTF-8' ရှိမရှိဆုံးဖြတ်ပါ။

အသေးစားအသေးစိတ်ကိုအာရုံစိုက်ပါ

  • PHP တွင် mbstring extension များတပ်ဆင်ထားပြီးဖွင့်ထားပါ။

  • MB_Detect_encoding () သည် 100% တိကျမှန်ကန်မှုမဟုတ်ဘဲအထူးသဖြင့်တိုတောင်းသောကြိုးတိုများသို့မဟုတ်စင်ကြယ်သောအင်္ဂလိပ်ကြိုးများ၌,

  • သင်၏လျှောက်လွှာသည် encoding ပြ problems နာများကိုများစွာကိုင်တွယ်ဖြေရှင်းပါက input and output ၏ encoding format များကိုစည်းလုံးညီညွတ်စေရန်နှင့် input encoding ကို MB_internal_encoding ('Utf-8' မှတဆင့် internal encoding ကိုရှင်းလင်းစွာသတ်မှတ်ရန်အကြံပြုသည်။

နမူနာစီမံကိန်း hosting လိပ်စာ

ဥပမာအားပြည့်ကြည့်လိုပါက https://gitbox.net/php/hpp/ht/php/ht/php/ht/heck -bek -bek-Demo