လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MB_Get_info ကို အသုံးပြု. ဇာတ်ကောင် encoding ကို PHP တွင်ရှာဖွေရန်နှင့်ပြောင်းလဲရန်

MB_Get_info ကို အသုံးပြု. ဇာတ်ကောင် encoding ကို PHP တွင်ရှာဖွေရန်နှင့်ပြောင်းလဲရန်

gitbox 2025-05-11

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

mb_get_info () ?

MB_GET_INFO () သည်လက်ရှိ Mbstring ၏အတွင်းပိုင်းပြင်ဆင်မှုအချက်အလက်များကိုပြန်လည်ပေးပို့ရန် MBString extension မှထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤပြင်ဆင်မှုအချက်အလက်များသည် developer များ developer များက developer များစင်ကြယ်သော encoding, language settings, http inputp / output encoding စသည်ဖြင့်စင်ကြယ်သောပတ်ဝန်းကျင်တွင် encoding settings ကို configoding settings ကိုအတည်ပြုရန်ကူညီနိုင်သည်။

အခြေခံအသုံးပြုမှု

 <?php
// အားလုံးရယူပါ mbstring ဆက်စပ် configuration သတင်းအချက်အလက်
$info = mb_get_info();

echo "<pre>";
print_r($info);
echo "</pre>";
?>

output content သည်အကြမ်းအားဖြင့်အောက်ပါအတိုင်းဖြစ်သည် (ပတ်ဝန်းကျင်တွင်ကွဲပြားနိုင်သည်)

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

လက်ရှိဇာတ်ကောင် encoding settings ကို detect

MB_Get_info ('internal_encoding' မှတဆင့်လက်ရှိအတွင်းပိုင်း encoding နည်းလမ်းကိုစစ်ဆေးနိုင်သည်။

 <?php
$currentEncoding = mb_get_info('internal_encoding');
echo "လက်ရှိပြည်တွင်းရေးကုဒ်ဖြစ်ပါတယ်:$currentEncoding";
?>

အသုံးပြုသူ input ကိုဖတ်ခြင်းသို့မဟုတ်ဒေတာဘေ့စ်ဖတ်နေသည့်အကြောင်းအရာများကိုလေ့လာခြင်းနှင့်အမှိုက်များပြ problems နာများကိုရှောင်ရှားရန်အထူးသဖြင့်၎င်းသည်အထူးအရေးကြီးသည်။

ဇာတ်ကောင် encoding ပြောင်းရန်မှန်ကန်သောနည်းလမ်း

လက်ရှိ encoding settings ကိုသင်သိသည်နှင့်တပြိုင်နက်သင်သည် mb_convert_encoding () ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်, GBK မှ UTF-8 သို့ string ကိုပြောင်းပါ။

 <?php
$originalText = "မင်္ဂလာပါ,ကမ်ာဘ!"; // ဒီဖြစ်ပါတယ်ယူဆ GBK encoded string ကို

// ကူးပြောင်း UTF-8 ကုဒ်
$convertedText = mb_convert_encoding($originalText, 'UTF-8', 'GBK');

echo $convertedText;
?>

မှတ်စု: အကယ်. အရင်းအမြစ် string ကိုအမှန်တကယ် encoded ဟုသေချာစေရန်လိုအပ်သည်။ သို့မဟုတ်ပါကပြောင်းလဲခြင်းရလဒ်သည်ပုံမှန်မဟုတ်သောဖြစ်နိုင်သည်။

လက်တွေ့ကျသော application ဇာတ်လမ်း - အသုံးပြုသူမှတင်ထားသောဖိုင်၏အကြောင်းအရာကိုပြုပြင်ခြင်း

Gitbox.net တွင်ပုံစံတစ်ခုတည်ဆောက်ရန်အသုံးပြုသူများကိုတရုတ်အကြောင်းအရာပါ 0 င်သောစာသားဖိုင်များကိုတင်ရန်ခွင့်ပြုသည်ဆိုပါစို့။ အကြောင်းအရာများကိုအောက်ပါနည်းလမ်းများဖြင့်ဖတ်ပြီးပြောင်းလဲနိုင်သည်။

 <?php
$uploadedFile = $_FILES['textfile']['tmp_name'];
$content = file_get_contents($uploadedFile);

// 自动检测ကုဒ်(ရိုးရှင်းသောဥပမာ)
$encoding = mb_detect_encoding($content, ['UTF-8', 'GBK', 'ISO-8859-1'], true);

// မရရှိလျှင် UTF-8,ကူးပြောင်း UTF-8
if ($encoding !== 'UTF-8') {
    $content = mb_convert_encoding($content, 'UTF-8', $encoding);
}

echo nl2br(htmlspecialchars($content, ENT_QUOTES, 'UTF-8'));
?>

ဤကုဒ်သည်အသုံးပြုသူများမှတင်ထားသောစာသားတွင်စာသားပြ problems နာများ၌ပြ problems နာများဖြင့်ပြ problems နာများကြောင့်ကျောက်တုံးများဖြစ်သော carble codes များကိုရှောင်ရှားနိုင်ပြီးဘာသာစကားမျိုးစုံပါဝင်သည့်ပလက်ဖောင်းများအတွက်အလွန်သင့်လျော်သည်။

အကျဉ်းချုပ်

MB_Get_info () သည်ဘာသာစကားမျိုးစုံအသုံးချပရိုဂရမ်များပြုလုပ်ရာတွင်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်သင့်အားဇာတ်ကောင် encoding settings များကိုနားလည်ရန်နှင့်ထိန်းချုပ်ရန်ခွင့်ပြုသည်။ mb_convert_encoding () နှင့် mb_detect_encoding () နှင့် mb_detect_encoding () , သင်၏လျှောက်လွှာ၏နိုင်ငံတကာစွမ်းရည်ကိုတိုးတက်အောင်လုပ်နိုင်သည်။