PHP ဘာသာစကားမျိုးစုံဖွံ့ဖြိုးတိုးတက်မှုတွင် strings ပြောင်းလဲခြင်းသည်အသုံးများသောလိုအပ်ချက်တစ်ခုဖြစ်သည်။ စံ strutupper function ကိုရိုးရှင်းလွယ်ကူပြီးအသုံးပြုရလွယ်ကူပေမယ့်ဒါဟာ Multi-byte encoding (ဥပမာ UTF-8 ကဲ့သို့သော encoding) ကိုမပံ့ပိုးပါ။ ဤပြ problem နာကိုဖြေရှင်းရန် PHP သည် MB_strtouper function ကိုထောက်ပံ့ပေးပြီး Multi-byte strings များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ပြီးဘာသာစကားမျိုးစုံသောပတ်ဝန်းကျင်တွင်အမှုပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်နိုင်သည့် MB_strouper function ကိုထောက်ပံ့ပေးသည်။
သို့သော် MB_strtoupper ပင်သင်သည်အဓိကသော့ချက်အသေးစိတ်ကိုဂရုမစိုက်ပါကအရင်းအနှီးများကိုမှန်ကန်စွာပြောင်းလဲနိုင်မည်မဟုတ်ပါ။ ဤဆောင်းပါးသည် MB_stropoupper ကို ဘာသာစကားမျိုးစုံကိုဘာသာစကားမျိုးစုံတွင်တိကျစွာပြောင်းလဲရန်မည်သို့သေချာအောင်လုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
MB_strtoupper သည် string ၏ encoding format များကိုသတ်မှတ်သည့်ဒုတိယ parametery $ encoding ရှိသည်။ မဖော်ပြပါက MB_Internal_encoding () မှပြန်လာသော encoding သည်များသောအားဖြင့် UTF-8 ဖြစ်သည်။ သို့သော်မလိုအပ်ပါ။
တိကျသောပြောင်းလဲခြင်းကိုသေချာစေရန်, အထူးသဖြင့် UTF-8 ကဲ့သို့သောဘာသာစကားမျိုးစုံပတ် 0 န်းကျင်ရှိအသုံးအများဆုံးသောပတ်ဝန်းကျင်တွင်အသုံးပြုသော encodings ကိုရှင်းရှင်းလင်းလင်းဖော်ပြရန်အထူးအကြံပြုလိုပါသည်။
<?php
$text = "stra?e"; // ဂျာမန်“လမ်း”,အထူးအက္ခရာများပါရှိသည် ?
$uppercase = mb_strtoupper($text, 'UTF-8');
echo $uppercase; // STRASSE
?>
ဤဥပမာတွင် MB_strtoupper သည် ပြောင်းလဲလိမ့်မည် လော။ Ss မှမှန်ကန်စွာ strutoupper မလုပ်နိုင်သည့်အရာဖြစ်သည်။
အကယ်. သင်သည် Multibyte String စစ်ဆင်ရေးများကိုသင်၏ကုဒ်တွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုပါက encoding ကိုသတ်မှတ်ရန်မေ့နေသည့်ပြ problems နာများကိုရှောင်ရှားရန်ကမ္ဘာလုံးဆိုင်ရာ encoding ကိုသတ်မှတ်ရန်စီစဉ်ထားသည်။
<?php
mb_internal_encoding('UTF-8');
$text = "привет"; // ကေြရုရု“မင်္ဂလာပါ”
echo mb_strtoupper($text); // ПРИВЕТ
?>
ဤသည် encoding တစ်ခုချင်းစီတွင် encoding ကိုမသတ်မှတ်ထားသည့်တိုင် UTF-8 ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။
MB_strtoupper သည် Multibyte ဇာတ်ကောင်အများစုကိုကိုင်တွယ်နိုင်သော်လည်းအချို့သောဘာသာစကားများသည်တူရကီ dotted နှင့် dotless စသည့်အထူးအမှုပြောင်းလဲခြင်းစည်းမျဉ်းများရှိသည်။
ဤကိစ္စအတွက် MB_ConVert_case နှင့် Locale ကိုပိုမိုကောင်းမွန်အောင်ပေါင်းစပ်နိုင်သည်။
<?php
setlocale(LC_CTYPE, 'tr_TR.UTF-8'); // တူရကီဒေသများတည်ဆောက်ပါ
$text = "istanbul";
$uppercase = mb_convert_case($text, MB_CASE_UPPER, 'UTF-8');
echo $uppercase; // ?STANBUL (တစ်ခုခု ?)
?>
MB_stroupper ကိုယ်နှိုက်သည်ဒေသဆိုင်ရာစည်းမျဉ်းများကိုမသတ်မှတ်ပါ ။
PHP သည် MB_ConVert_case ကို ထောက်ပံ့ ပေးပြီး,
<?php
$text = "héllo wórld";
echo mb_convert_case($text, MB_CASE_UPPER, 'UTF-8'); // HELLO WóRLD
?>
encoding ကိုအမြဲတမ်းသတ်မှတ်ပါ , UTF-8 ကိုအကြံပြုသည်။
တစ် ဦး တည်း internal encoding ပျက်ကွက်ရှောင်ရှားရန်,
အထူးဘာသာစကားများအတွက်သင့်လျော်သောဒေသဆက်တင်များကိုသုံးပါ ။
သင်၏လိုအပ်ချက်များအရ MB_CRTOUOUOUOUOPPER သို့မဟုတ် MB_COCVERT_Ade ကို ရွေးချယ်ပါ ။
ဤနည်းအားဖြင့် string ကိုအမှုအစပြုခြင်း၏တိကျမှန်ကန်မှုကိုဘာသာစကားမျိုးစုံပတ်ဝန်းကျင်တွင်သေချာစေနိုင်သည်။