လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_GENT_INFO function ကို အသုံးပြု. MB_Internal_encoding function နှင့်တွဲဖက်ခြင်း

MB_GENT_INFO function ကို အသုံးပြု. MB_Internal_encoding function နှင့်တွဲဖက်ခြင်း

gitbox 2025-05-11

Multibyte Strings (တရုတ်, ဂျပန်, ကိုးရီးယားစသဖြင့်) နှင့်ဆက်ဆံရာတွင် PHP သည်ဤစာလုံးများကိုမှန်ကန်စွာလုပ်ဆောင်ရန် PHP Multibyte String Extension ( Mbstring ) ကိုထောက်ပံ့ပေးသည်။ ၎င်းတို့အနက် MB_Get_info () နှင့် MB_TInTernal_encoding () သည်လက်ရှိဇာတ်ကောင် encoding settings ကိုကြည့်ရှုရန်အသုံးပြုသောအလွန်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်သင့်အားဤလုပ်ဆောင်ချက်နှစ်ခုအကြောင်းပိုမိုလေ့လာရန်နှင့်၎င်းတို့ကိုလက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ပုံနမူနာများမှတဆင့်အသုံးပြုသည်ကိုပြပါလိမ့်မည်။

1 ။ mb_internal_encoding () ?

mb_internal_encoding () တွင်လုပ်ဆောင်ချက်နှစ်ခုရှိသည်။

  1. လက်ရှိအတွင်းပိုင်းဇာတ်ကောင် encoding ရယူပါ

  2. လက်ရှိအတွင်းပိုင်းဇာတ်ကောင် encoding ကိုသတ်မှတ်ပါ

Internal character encoding mb_strinlen () နှင့် mb_substred () ကဲ့သို့သောလုပ်ဆောင်ချက်များ၏အပြုအမူကိုသက်ရောက်သည်။

ဥပမာ 1: Internal encoding ကိုရယူပါ

 <?php
// လက်ရှိပြည်တွင်းရေးကုဒ်ကိုရယူပါ
$currentEncoding = mb_internal_encoding();
echo "လက်ရှိပြည်တွင်းရေး encoding: $currentEncoding\n";

// အဖြစ် encoding အသစ်ကိုသတ်မှတ်ပါ UTF-8
mb_internal_encoding("UTF-8");

// setup ကိုအောင်မြင်ကြောင်းအတည်ပြုပါ
echo "updated encoding: " . mb_internal_encoding() . "\n";
?>

2 ။ MB_GEGET_INFO () ?

MB_Get_info () ကို Multibyte string extensions များအတွက် configuration information ကိုရရှိရန်အသုံးပြုသည်။ တိကျသောသတင်းအချက်အလက်များကိုပြန်ပို့ရန် parameter သည် parameter ကိုလက်ခံနိုင်သည်။

ဥပမာ 2 - Mbstring Configuration Information အားလုံးကိုရယူပါ

 <?php
$info = mb_get_info();
print_r($info);
?>

အောက်ပါအတိုင်း output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [internal_encoding] => UTF-8
    [http_input] => pass
    [http_output] => pass
    [language] => neutral
    ...
)

သငျသညျထိုကဲ့သို့သော parameters တွေကိုအတွက် parameters တွေကိုအတွက် pass နိုင်ပါတယ်:

 echo "လက်ရှိဘာသာစကားကိုသတ်မှတ်ထားသည်: " . mb_get_info("language") . "\n";

3 ။ ပေါင်းစပ်: dynamically switching switching encoding နှင့်သက်ရောက်မှုကိုကြည့်ရှု

ဤတွင်ပိုမိုပြည့်စုံသောဥပမာတစ်ခုဖြစ်ပြီးကျွန်ုပ်တို့ application ဇာတ်လမ်းကို Simulate လုပ်ပါလိမ့်မည်။ အရင်းအမြစ်အမျိုးမျိုးမှအချက်အလက်များကိုလုပ်ဆောင်စဉ် internal encoding ကိုယာယီပြောင်းလဲရန်လိုအပ်သည်, ထို့နောက်မူလချိန်ညှိချက်များကိုပြန်လည်ရယူရန်လိုအပ်သည်။

ဥပမာ 3 - Gitbox.net မှကွဲပြားသော encoded data များကိုထုတ်ယူခြင်း

 <?php
// လက်ရှိပြည်တွင်းရေးကုဒ်ကိုသိမ်းဆည်းပါ
$originalEncoding = mb_internal_encoding();

// ထံမှ simulation gitbox.net ရရှိခဲ့သည် ISO-8859-1 encoded အကြောင်းအရာ
$data = "\xE9ducation"; // "éducation" in ISO-8859-1

// encoding ကိုသတ်မှတ်ပါ ISO-8859-1 မှန်ကန်စွာ decode ရန်
mb_internal_encoding("ISO-8859-1");

// output ကိုဇာတ်ကောင်အရှည်
echo "ISO-8859-1 mode မှာအရှည်: " . mb_strlen($data) . "\n";

// encoding restore
mb_internal_encoding($originalEncoding);

// နောက်တဖန်လက်ရှိချိန်ညှိချက်များကိုစစ်ဆေးပါ
echo "Restored ကုဒ်သည်: " . mb_get_info("internal_encoding") . "\n";
?>

ဤဥပမာသည် Multibyte လုပ်ဆောင်ချက်များကိုကွဲပြားခြားနားသောဒေတာအခြေအနေများတွင်ကြိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်စေရန်အတွက်အတွင်းပိုင်း encoding ကိုယာယီမည်သို့ညှိနိုင်မည်ကိုပြသသည်။

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

  • လက်ရှိ script မှအသုံးပြုသောဇာတ်ကောင် encoding ကိုပြောင်းလွယ်ပြင်လွယ်ထားပြီးရယူပါ

  • MB_Get_info () သင် debugging နှင့် logging အတွက်အလွန်သင့်လျော်သော Mbstring ၏ configuration status ကိုနားလည်ခွင့်ပြုသည်။

  • လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ဤလုပ်ဆောင်ချက်နှစ်ခုကိုများသောအားဖြင့်ကွဲပြားခြားနားသော coded data များနှင့် output processing မတိုင်မီနှင့်အပြီး stater ကိုသိမ်းဆည်းခြင်းနှင့်ပြန်လည်ထူထောင်ခြင်းစသည့်အခြေအနေမျိုးတွင်ကဲ့သို့သောအခြေအနေမျိုးတွင်ပေါင်းစပ်အသုံးပြုလေ့ရှိသည်။

** သိကောင်းစရာ - ** သင်၏ system, database, web output ကိုအမြဲတမ်းသေချာစွာသေချာစွာတပ်ဆင်ပါ။