ဘာသာစကားမျိုးစုံ applications များတွင်ကွဲပြားခြားနားသောဘာသာစကားများဖြင့်မှန်ကန်သောကိုင်တွယ်သည့်စာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်သည့်စာလုံးပေါင်းကိုအဓိကပြ issue နာဖြစ်သည်။ PHP သည် Multibyte ဇာတ်ကောင် encoding ကိုကိုင်တွယ်သောလုပ်ဆောင်ချက်များကိုပါ 0 င်သောစွမ်းဆောင်ရည်မြှင့်တင်ခြင်း mbstring ကို ထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် MB_GEget_info function ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါကဘာသာစကားမျိုးစုံဘာသာစကားရေးသားခြင်းကိုဆုံးဖြတ်ရန်နှင့်ဘာသာစကားအမျိုးမျိုးဖြင့်အကြောင်းအရာများကိုလုပ်ဆောင်သောအခါအမှားမရှိပါ။
MB_Get_info သည် PHP Mbstring extension မှလက်ရှိဇာတ်ကောင် encoding နှင့်ပတ်သက်သော configuration information ကိုရရှိရန်အသုံးပြုနိုင်သည့် PHP Mbstring extension မှပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဘာသာစကားမျိုးစုံသောစာသားကိုလုပ်ဆောင်သောအခါစာသားကိုပိုမိုကောင်းမွန်စေရန်ဤလုပ်ဆောင်မှုမှတစ်ဆင့် encoding information ကိုကျွန်ုပ်တို့ရယူနိုင်သည်။
mb_get_info($type = 'all')
ဤလုပ်ဆောင်ချက် သည် မည်သည့်သတင်းအချက်အလက်ကိုပြန်လည်ပေးပို့မည်ကိုဆုံးဖြတ်သည်။ Parameter $ အမျိုးအစား ၏တန်ဖိုးသည် -
'all' (ပုံမှန်): အချက်အလက်အားလုံးကိုပြန်ပို့သည်။
'internal_encoding' : အတွင်းပိုင်းဇာတ်ကောင် encoding ကိုပြန်ပို့သည်။
'http_output' : HTTP output encoding ကိုပြန်ပို့သည်။
'input_encoding' : input encoding ပြန်ပို့သည်။
'output_encoding' : output encoding ပြန်ပို့။
'encoding_translation' : encoding ပြောင်းလဲခြင်း option ကိုပြန်ပို့သည်။
ဘာသာစကားမျိုးစုံစာသားနှင့်ကိုင်တွယ်ရန်လိုအပ်ပြီးစာသားကိုမှန်ကန်စွာ encoded ဟုသေချာစေရန်လိုသည်ဆိုပါစို့။ လက်ရှိပတ်ဝန်းကျင်ရှိ encoding settings ကိုစစ်ဆေးရန် MB_GEget_info ကို သုံးနိုင်သည်။ လက်ရှိဇာတ်ကောင် encoding အချက်အလက်များကိုမည်သို့ရယူရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// အားလုံး coded သတင်းအချက်အလက်ရယူပါ
$encodingInfo = mb_get_info('all');
// output ကို encoding သတင်းအချက်အလက်
echo '<pre>';
print_r($encodingInfo);
echo '</pre>';
?>
အထက်ပါကုဒ်ကိုဖွင့်ပြီးနောက် $ Encodinginfo တွင် လက်ရှိဇာတ်ကောင် encoding ၏အသေးစိတ်အချက်အလက်များပါ 0 င်မည်ဖြစ်သည်။ ဤအချက်အလက်သည်လက်ရှိပတ်ဝန်းကျင်သည်မှန်ကန်သောဇာတ်ကောင် encoding ကိုအထောက်အကူပြုသည်ကိုနားလည်စေသည်။
ဘာသာစကားများကွဲပြားခြားနားသောဘာသာစကားများကိုသုံးနိုင်သည်, ဥပမာအားဖြင့်အင်္ဂလိပ်သည်များသောအားဖြင့် ISO-8859-1 (သို့) UTF-8 ကို အသုံးပြု. တရုတ်ကိုများသောအားဖြင့် GB2312 သို့မဟုတ် UTF-8 ကို အသုံးပြု. encoded လုပ်လေ့ရှိသည်။ MB_GEGET_INFO function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာသားကိုရေးသောအခါ encoding အမှားမရှိပါ။
စာသားများကိုဘာသာစကားအမျိုးမျိုးဖြင့်ကိုင်တွယ်သောအခါမှန်ကန်သောဇာတ်ကောင် encoding ကိုသေချာစေရန် Mbstring function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ဥပမာတစ်ခုမှာဤတွင်ဖော်ပြထားသည်။
<?php
// လက်ရှိအတွင်းပိုင်းဇာတ်ကောင် encoding ရယူပါ
$currentEncoding = mb_get_info('internal_encoding');
// လက်ရှိ encoding မပါလျှင် UTF-8,ပြောင်းရန်ကြိုးစားပါ
if ($currentEncoding !== 'UTF-8') {
echo "လက်ရှိဇာတ်ကောင် encoding ဖြစ်ပါတယ်:$currentEncoding,ကူးပြောင်း UTF-8 ကုဒ်...<br>";
// တရုတ်စာသားရှိတယ်ဆိုပါစို့
$chineseText = "ဒါကတရုတ်စာသားပါ";
// ကူးပြောင်း UTF-8 ကုဒ်
$utf8Text = mb_convert_encoding($chineseText, 'UTF-8', $currentEncoding);
echo "စာသား:$utf8Text";
} else {
echo "当前字符ကုဒ်已经是 UTF-8,တိုက်ရိုက်စာသား process。<br>";
}
?>
ဤဥပမာတွင် MB_Get_info မှတဆင့်လက်ရှိ internal charning encoding ကို ဦး စွာ ဦး စွာယူပါ။ ၎င်းသည် UTF-8 encoding သို့ပြောင်းရန် MB_ConVert_encoding function ကိုအသုံးပြုသည်။ ၎င်းသည်တရုတ်, အင်္ဂလိပ်သို့မဟုတ်အခြားဘာသာစကားများဖြင့်စာသားများပါ 0 င်သောစာသားများပြုလုပ်နေခြင်းရှိမရှိ encoding အမှားများကိုရှောင်ရှားနိုင်သည်။
အချို့ဖြစ်ရပ်များတွင် URLs များနှင့်ဘာသာစကားမျိုးစုံသောစာသားများကိုကိုင်တွယ်ရန်လိုအပ်နိုင်သည်။ ဤအမှုများတွင် MB_Get_info ကိုအသုံးပြုပြီး URL ကိုမှန်ကန်စွာ encoded ကြောင်းသေချာစေရန်ကူညီနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ပြင်ပဝက်ဘ်ဆိုက်မှယူထားသောစာသားအချို့ကိုလုပ်ဆောင်နေပါက URL တွင် encoding ကိုအတည်ပြုရန်လိုအပ်နိုင်သည်။
အောက်ဖော်ပြပါအတိုင်းပြင်ပအရင်းအမြစ်ကိုညွှန်ပြသော URL ရှိသည်ဆိုပါစို့။
$url = "http://example.com/path/to/resource";
URL သည်မှန်ကန်သော encoding ကိုမှန်ကန်စွာအသုံးပြုနေသည်ကိုသေချာစေရန် MB_Get_info ကို အသုံးပြု. လက်ရှိပတ်ဝန်းကျင်၏ output encoding ကိုစစ်ဆေးရန်နှင့်၎င်းကိုလိုအပ်သလိုညှိရန်အသုံးပြုနိုင်သည်။ ဤတွင် URL encoding ကိုကိုင်တွယ်ပုံဥပမာတစ်ခုမှာ -
<?php
// 获取当前的输出ကုဒ်
$currentOutputEncoding = mb_get_info('output_encoding');
// ငါတို့ယူဆ URL
$url = "http://example.com/path/to/resource";
// 如果输出ကုဒ်不是 UTF-8,ပေြာင်း URL ကုဒ်
if ($currentOutputEncoding !== 'UTF-8') {
echo "当前输出ကုဒ်为:$currentOutputEncoding,正在ပေြာင်း URL ကုဒ်为 UTF-8...<br>";
// ပေြာင်း URL 中的字符ကုဒ်
$encodedUrl = mb_convert_encoding($url, 'UTF-8', $currentOutputEncoding);
echo "ပေြာင်း后的 URL:$encodedUrl";
} else {
echo "当前输出ကုဒ်已经是 UTF-8,တိုက်ရိုက်အသုံးပြုပါ URL。<br>";
}
?>
ဤဥပမာတွင်လက်ရှိ output encoding ကိုစစ်ဆေးပြီး URL ကိုလိုအပ်သလို UTF-8 encoding သို့ပြောင်းပါ။ လျှောက်လွှာတွင်ပါ 0 င်သောစာသားနှင့် urls များအားလုံးမှန်ကန်စွာဖော်ပြရန်သေချာစေရန်၎င်းသည်မရှိမဖြစ်လိုအပ်သည်။
MB_GEget_info သည် Configure encoding နှင့်ပတ်သက်သော configuration encoding နှင့်ပတ်သက်သော configuration information ကိုရရှိစေရန်နှင့်ဘာသာစကားမျိုးစုံသောစာသားများကိုမတူညီသောပတ်ဝန်းကျင်တွင်မှန်ကန်စွာလုပ်ဆောင်နိုင်အောင်ကူညီပေးနိုင်သည့်အလွန်အသုံးဝင်သော PHP function တစ်ခုဖြစ်သည်။ ၎င်းနှင့်အတူကျွန်ုပ်တို့သည်ဇာတ်ကောင် encoding settings များကိုအလွယ်တကူစစ်ဆေးရန်နှင့်ညှိနှိုင်းနိုင်ပြီးဇာတ်ကောင် encoding ပြ issues နာများကိုရှောင်ရှားနိုင်ပြီး application သည်အကြောင်းအရာများကိုဘာသာစကားအမျိုးမျိုးဖြင့်ကိုင်တွယ်နိုင်သည်။
၎င်းသည်ပြင်ပ URL တစ်ခုတွင်ဒေတာဘေ့စ်သို့မဟုတ်ဘာသာစကားမျိုးစုံစာသားတွင်မျိုးစုံအချက်အလက်များကိုထုတ်ဖော်နေသလား, မှန်ကန်သောစာလုံးပေါင်း encoding သည်မရှိမဖြစ်လိုအပ်သည်။ MB_GEGET_INFO function ကို အသုံးပြု. ကျွန်ုပ်တို့သည်လက်ရှိ encoding information ကိုအလွယ်တကူရရှိနိုင်ပါသည်။ စာသားအကြောင်းအရာများ၏တိကျမှန်ကန်မှုနှင့်ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်သင့်လျော်သော encoding ပြောင်းလဲခြင်းကိုပြုလုပ်နိုင်သည်။