PHP တွင် strtoupper () strutoupper ကဲ့သို့သောရိုးရာ string ကိုလုပ်ဆောင်ချက်များသည်ဤစာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်မည်မဟုတ်ပါ (UTF-8, GBK, Big5 စသည်) ။ ဒီအချိန်မှာငါတို့ MB_strtoupper () function ကိုသုံးနိုင်တယ်။ ယနေ့ကျွန်ုပ်တို့သည် MB_strtoupper ၏အခြေခံအသုံးပြုမှုကိုအသေးစိတ်နားလည်နိုင်ပြီးဤလုပ်ဆောင်မှုကိုမည်သို့မြန်မြန်စီမံခန့်ခွဲရမည်ကိုရှင်းပြပါမည်။
MB__stroupper () function ၏ function သည် function ကို function သည်အက္ခရာစဉ်စာလုံးများကိုစာလုံးအကြီးဖြင့်ပြောင်းလဲရန်ဖြစ်သည်။ Strtoupper () , mb_stroupper () မတူဘဲ Multi-byte character set များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်, UTF-8 encoding အောက်တွင်တရုတ်နှင့်ဂျပန်ကဲ့သို့သောဇာတ်ကောင်များကိုမှန်ကန်စွာပြုလုပ်နိုင်သည်။
<span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ str : စာလုံးအကြီးအဖြစ်ပြောင်းလဲရန်လိုအပ်သည့် input string ကို။
$ encoding : optional parameter, သတ်မှတ်ထားတဲ့ဇာတ်ကောင် encoding, definition encoding, default value သည် NULL တန်ဖိုးကိုဆိုလိုသည်,
MB_strtoupper () သည် Multi-byte encoding string string အတွက်သာသင့်လျော်ပြီး UTF-8, Shift-Jis, EUC-JP စသည့် encoding အတွက်အသုံးပြုသည်။
အကယ်. သင်သည် Mbstring extension ကို install လုပ်ပါက PHP သည်ဤ function ကို သုံး. အသုံးမပြုပါ။
အသုံးအများဆုံးအသုံးပြုမှုမှာ string ကိုစာလုံးအမြောက်အမြားကိုတိုက်ရိုက်ပြောင်းလဲရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, တရုတ်သို့မဟုတ်အင်္ဂလိပ်စာ string ကိုစာလုံးအကြီးသို့ပြောင်းပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello world"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "HELLO WORLD"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "မင်္ဂလာပါ,ကမ်ာဘ"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ပါဥပမာတွင် MB_stroupper () သည်စာလုံးအကြီးများကိုပြောင်းလဲစေခြင်း, တရုတ်ကြိုးတွေအတွက်တရုတ်အက္ခရာများသည်အမှုအရာခြားနားချက်မရှိပါက၎င်းတို့သည်ပြောင်းလဲလိမ့်မည်မဟုတ်ပါ။
MB_strtoupper () သည် encoding parameter မှတစ်ဆင့်အက္ခရာများကိုသတ်မှတ်နိုင်သည်။ ပုံမှန်အားဖြင့်၎င်းသည် PHP ၏ Internal character encoding (များသောအားဖြင့် UTF-8) ကိုအသုံးပြုသည်။ သို့သော်တစ်ခါတစ်ရံတွင်အတိအလင်းသတ်မှတ်ထားသောအခြား encoded strings များကိုကိုင်တွယ်ရန်လိုအပ်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"GBK"</span></span><span>); </span><span><span class="hljs-comment">// တည်နေ GBK 编码下ထုတ်လုပ်ခြင်း大写</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
encoding ကို GBK အဖြစ်သတ်မှတ်ထားပြီး function သည် string ကိုသတ်မှတ်ထားသော encoding နှင့်အညီစာလုံးအဖြစ်ပြောင်းလဲပေးသည်။ အကယ်. encoding မမှန်ကန်ပါက၎င်းသည် output အမှားအယွင်းများသို့မဟုတ်အမှိုက်များသို့မဟုတ်အမှိုက်များကိုဖြစ်စေနိုင်သည်။
MB_strtoupper () function သည်သာမန်စာလုံးများကိုကိုင်တွယ်ရုံသာမကအထူးအက္ခရာများပါ 0 င်သောကြိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, ကမ်ာဘ! မင်္ဂလာပါ!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "HELLO, ကမ်ာဘ! မင်္ဂလာပါ!"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤဥပမာတွင်အင်္ဂလိပ်အပိုင်းသည်မြို့တော်ကိုအရင်းအနှီးအဖြစ်ပြောင်းလဲပြီးတရုတ်အစိတ်အပိုင်းများကိုမပြောင်းလဲနိုင်သော်လည်းအထူးဇာတ်ကောင်များ (ကော်မာနှင့်အာဇိသည်) သည်အတူတူပင်ကျန်ရှိနေသည်။
Single-byte character sets (ဥပမာ - 8859-1 သို့မဟုတ် ASCII encoding), strtoupper () သည်လုံလောက်သည်။ အကယ်. string တွင် (တရုတ်သို့မဟုတ်ဂျပန်ကဲ့သို့သော) Multibyte ဇာတ်ကောင်များပါ 0 င်ပါက strtoupper () သည် ကောင်းမွန်စွာအလုပ်လုပ်လိမ့်မည်မဟုတ်,
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း错误或乱码</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ပါကုဒ် သည် carbled code သည် carbled code ကိုဖြစ်ပေါ်စေနိုင်သည် ။
MB_strtoupper () သည်အထူးသဖြင့်တရုတ်, ဂျပန်နှင့်အခြားဇာတ်ကောင်အစုံများအတွက်အထူးသင့်လျော်သော MB_Chstoupper () သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ PHP တွင်၎င်းကိုအသုံးပြုခြင်းသည် Multibyte အက္ခရာများကိုကြမ်းခင်းသို့မဟုတ်မမှန်ကန်ကြောင်းအပြုအမူမရှိဘဲမှန်ကန်စွာပြောင်းလဲခြင်းကိုသေချာစေသည်။ MB_strtoupper () ၏အခြေခံအသုံးပြုမှုကိုကျွမ်းကျင်မှုသည် encoding စွမ်းဆောင်ရည်ကိုတိုးတက်စေရုံသာမက encoding ထိရောက်မှုကိုတိုးတက်စေရုံသာမက,