လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> mb_get_info နှင့် mb_convert_encoding ကို character encoding ပြောင်းလဲခြင်းအတွက်ပေါင်းစပ်ခြင်း

mb_get_info နှင့် mb_convert_encoding ကို character encoding ပြောင်းလဲခြင်းအတွက်ပေါင်းစပ်ခြင်း

gitbox 2025-05-11

ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းဇာတ်ကောင် encoding ပြ problems နာများသည် developer များနှင့်မကြာခဏထိခိုက်သည်။ အထူးသဖြင့်ဘာသာစကားမျိုးစုံနှင့်ဘာသာစကားမျိုးစုံဒေတာများကိုထုတ်ယူသောအခါအထူးသဖြင့် encoding detection နှင့်ပြောင်းလဲခြင်းသည်အထူးအရေးကြီးသည်။ MB_Get_info နှင့် MB_Conververt_encoding သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်ကြောင်း MB_CONVERTDOTS သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ယနေ့ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. ဇာတ်ကောင် encoding ကိုရှာဖွေတွေ့ရှိခြင်းနှင့်ပြောင်းလဲခြင်းကိုနားလည်သဘောပေါက်ရန်။

1 ။ mb_get_info နှင့် mb_convert_encoding ကဘာလဲ။

  • MB_Get_info သည် Multibyte String (MBString) extension များနှင့်ပတ်သက်သည့် configuration information ရရှိသော PHP function ဖြစ်သည်။ ၎င်းသည်လက်ရှိအက္ခရာများနှင့် Mbstring အကြောင်းအခြားအချက်အလက်များကိုစစ်ဆေးရန်အသုံးပြုနိုင်သည်။

  • MB_ConVert_encoding သည် encoding တစ်ခုမှတစ်ခုသို့ကြိုးတစ်ချောင်းကိုအခြားတစ်ခုသို့ပြောင်းလဲစေသည်။ ၎င်းသည်စာလုံးမျိုးစုံ encoding ပုံစံများကိုထောက်ပံ့ပေးပြီးမတူညီသော encoding များအကြားအလွယ်တကူပြောင်းလဲနိုင်သည်။

2 ။ encoding encoding သတင်းအချက်အလက်ရယူရန် MB_GEGET_INFO ကို သုံးပါ

MB_Get_info သည် Multi-byte ဇာတ်ကောင် encoding changing configuration encoding configuration information ကိုကြည့်ရှုရန်အဓိကအားဖြင့်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်ကိုခေါ်ဆိုခြင်းဖြင့်ကျွန်ုပ်တို့သည်နောက်ဆက်တွဲဇာတ်ကောင်ပြောင်းလဲခြင်းစစ်ဆင်ရေးများသည်အမှားအယွင်းများကြောင့်အမှားများကိုဖြစ်ပေါ်စေလိမ့်မည်မဟုတ်ကြောင်းသေချာစေရန်လက်ရှိပတ်ဝန်းကျင်၏ encoding settings များကိုကျွန်ုပ်တို့ရနိုင်သည်။

နမူနာကုဒ်:

 <?php
// ရယူ mbstring တိုးချဲ့ configuration သတင်းအချက်အလက်
$info = mb_get_info();
print_r($info);
?>

ဤကုဒ်သည်အောက်ပါတို့နှင့်ဆင်တူသည့်သတင်းအချက်အလက်များကိုဖော်ပြလိမ့်မည်။

 Array
(
    [internal_encoding] => UTF-8
    [internal_encoding_list] => Array
        (
            [0] => UTF-8
        )
    [http_input] => pass
    [http_output] => pass
    [mbstring.language] => neutral
    [mbstring.encoding_translation] => off
    [mbstring.detect_order] => auto
    [mbstring.substitute_character] => none
)

internal_encoding သည် လက်ရှိသတ်မှတ်ထားသော Internal encoding format ကိုပြလိမ့်မည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့က UTF-8 သည် UTF-8 ဖြစ်ချင်သောကြောင့် UTF-8 သည် တစ်ကမ္ဘာလုံးအတိုင်းအတာနှင့်သဟဇာတဖြစ်သော encoding format တစ်ခုဖြစ်သည်။

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

ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းအချက်အလက်များကိုမတူညီသော encoding formats များတွင်အချက်အလက်များကိုပြောင်းလဲရန်လိုအပ်သည်။ PHP ၏ MB_COCVERT_ENCOCTING function သည် encoding format တစ်ခုမှတစ်ခုသို့ကြိုးများကိုပြောင်းလဲရန်ခွင့်ပြုသည်။ ၎င်းသည် UTF-8 , ISO-8859-1 , GB2312 ကဲ့သို့သော Clire encodings အမျိုးမျိုးကိုထောက်ပံ့သည်။

နမူနာကုဒ်:

External Source မှစာသားအချက်အလက်အချို့ကိုကျွန်ုပ်တို့ရရှိကြသည်ဆိုပါစို့။ ၎င်းသည် Encape encoding သည် GB2312 ဖြစ်ပြီး၎င်းကို UTF-8 သို့ပြောင်းရန်လိုအပ်သည်ဆိုပါစို့။ ဤလုပ်ငန်းကို MB_ConVert_encoding ကို သုံး. ပြီးမြောက်နိုင်သည်။

 <?php
// မူရင်း string ကိုယူဆ GB2312 ကုဒ်
$input_string = "ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်";  // အဆိုပါ string ကြောင်းယူဆ GB2312 ကုဒ်

// အသုံးပြု mb_convert_encoding ကနေ string ကိုလွှဲပြောင်း GB2312 ကူးပြောင်း UTF-8
$converted_string = mb_convert_encoding($input_string, 'UTF-8', 'GB2312');

// ပြောင်းလဲ string ကို output ကို
echo $converted_string;
?>

အထက်ပါကုဒ်များမှတဆင့် UTF-8 encoding သို့ GB2312 -ented string ကိုပြောင်းလဲ။ အကယ်. မူလ encoding format သည်မှန်ကန်ပါကပြောင်းလဲထားသော string ကို browser တွင်မှန်ကန်စွာဖော်ပြလိမ့်မည်။

4 ။ mb_get_info နှင့် mb_convert_encoding ကို သုံးပါ

MB_Get_info နှင့် MB_ConVert_encoding ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ဖြင့်အက်ခရာသင်္ကေတစစ်ဆေးခြင်းနှင့်ပြောင်းလဲခြင်းကိုကိုင်တွယ်နိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် MB_get_info ကို ပထမဆုံးအကြိမ် အသုံးပြု. လက်ရှိဇာတ်ကောင် encoding ကိုကြည့်ရှုရန် MB_ConVert_encoding ကိုလိုအပ်သလို Tark encoding format သို့ပြောင်းရန် MB_ConVert_encoding ကို သုံးနိုင်သည်။

နမူနာကုဒ်:

 <?php
// ရယူ当前的内部ကုဒ်
$info = mb_get_info();
$current_encoding = $info['internal_encoding'];

// 假设我们需要将一个字符串从当前ကုဒ်ကူးပြောင်း UTF-8
$input_string = "ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်";  // 假设它是当前ကုဒ်

if ($current_encoding !== 'UTF-8') {
    // 如果当前ကုဒ်不是 UTF-8,သာ
    $converted_string = mb_convert_encoding($input_string, 'UTF-8', $current_encoding);
    echo "string ကိုပြောင်းလဲ:$converted_string";
} else {
    echo "အဆိုပါ string ကိုပြီးသားဖြစ်ပါတယ် UTF-8 ကုဒ်";
}
?>

ဤကုဒ်တွင်လက်ရှိ encoding format ကို ဦး စွာရယူပြီး၎င်းသည် UTF-8 ဟုတ်မဟုတ်ဆုံးဖြတ်ပါ။ မရရှိလျှင်ကျွန်ုပ်တို့သည် string ကို UTF-8 encoding သို့ပြောင်းရန် MB_ConVert_encoding ကို အသုံးပြုသည်။

5 ။ နိဂုံးချုပ်

MB_GET_INFO နှင့် MB_COCVERT_ENCOCOTING ကို အသုံးပြု. ကျွန်ုပ်တို့သည်ဇာတ်ကောင် encodings များကိုအလွယ်တကူရှာဖွေတွေ့ရှိနိုင်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကို developer များကိုတီထွင်ဖန်တီးသူများအားကွဲပြားခြားနားသောဇာတ်ကောင် encoding formats များတွင်ပိုမိုကောင်းမွန်သောဇာတ်ကောင် encoding formats များတွင်ပိုမိုကောင်းမွန်သောဇာတ်ကောင်များနှင့်ပလက်ဖောင်းများမှအချက်အလက်များနှင့် encoding အမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည့်အတွက်တီထွင်သူများကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်ပေါင်းစပ်ထားသည်။

ဤဆောင်းပါးသည်သင်၏နားလည်မှုနှင့်ရုပ်ပုံများကိုအသုံးပြုခြင်းနှင့်ပြောင်းလဲခြင်းနှင့်ပြောင်းလဲခြင်းအတွက်အထောက်အကူပြုရန်ဤဆောင်းပါးသည်အထောက်အကူပြုလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။