MB_Substitute_Character ဆိုသည်မှာ Multibyte ဇာတ်ကောင် set library တွင် setting item တစ်ခုဖြစ်ပြီးစာလုံးသင်္ကေတပြောင်းလဲခြင်းမအောင်မြင်သည့်အခါအခြားရွေးချယ်စရာဇာတ်ကောင်များကိုသတ်မှတ်သည့်နေရာတစ်ခုဖြစ်သည်။ ဇာတ်ကောင်ကိုမှန်ကန်စွာ ပြောင်းလဲ. မရပါက MB_Substitute_Character သည် PHP သည်ဤမမှန်သောလက်ခဏာကိုမည်သို့ကိုင်တွယ်သည်ကိုဆုံးဖြတ်သည်။ ပုံမှန်အားဖြင့်, ဇာတ်ကောင်ပြောင်းလဲလို့မရဘူးဆိုရင် PHP အသုံးပြုမှု ? တစ် ဦး ကအခြားရွေးချယ်စရာဇာတ်ကောင်အဖြစ်။
ဥပမာအားဖြင့်, အကယ်. သင်သည် GBK တွင်ကိုယ်စားမပြုနိုင်သည့်စာလုံးများကို UTF-8 မှ GBK သို့ပြောင်းလဲခြင်းမပြုနိုင်ပါက default အပြုအမူသည်ဤအက္ခရာများကိုမေးခွန်းအမှတ်အသားများဖြင့်အစားထိုးရန်ဖြစ်သည် ။ ။
<span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-string">'none'</span></span><span>); </span><span><span class="hljs-comment">// အခြားရွေးချယ်စရာဇာတ်ကောင်များကိုမသုံးပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-string">'?'</span></span><span>); </span><span><span class="hljs-comment">// အသုံးပြု"?"တစ် ဦး ကအခြားရွေးချယ်စရာဇာတ်ကောင်အဖြစ်</span></span><span>
</span></span>mb_substitute_character_character ကို ခေါ်ခြင်းအားဖြင့်သင်သည်အစားထိုးစာလုံးပုံစံကိုသင်ထိန်းချုပ်နိုင်ပြီး၎င်းကိုအချည်းနှီးသောကြိုးသို့မဟုတ်သတ်သတ်မှတ်မှတ်သင်္ကေတတစ်ခုသို့ပင်သတ်မှတ်နိုင်သည်။
MB_ConVert_encoding သည် PHP တွင်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည် UTF-8 , GBK , ISO-8859-1 စသည်တို့ကဲ့သို့အသုံးများသောအက္ခရာများ encoding formats အမျိုးမျိုးကိုထောက်ပံ့သည်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"တရုတ်ကြိုးတွေ"</span></span><span>;
</span><span><span class="hljs-variable">$converted_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'ISO-8859-1'</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$converted_str</span></span><span>;
</span></span>၎င်းသည် UTF-8 encoding ကို ITF - 8 encoding ကို ISO-8859-1 encoding သို့ပြောင်းရွှေ့ခြင်းနှင့်ပြောင်းလဲခြင်းတွင်အရင်းအမြစ် strings တွင်ဇာတ်ကောင်များပေါ်တွင် အခြေခံ. အစားထိုးရန်လိုမလိုဆုံးဖြတ်ရန်ဆုံးဖြတ်လိမ့်မည်။ အကယ်. ပစ်မှတ် encoding သည်အရင်းအမြစ်ဇာတ်ကောင်ရှိအချို့သောစာလုံးများကိုကိုယ်စားမပြုနိုင်ပါက MB_SBSubstitute ၏ configuration ကို configuration သည်အစားထိုးဇာတ်ကောင်များ၏ကိုယ်စားပြုမှုကိုဆုံးဖြတ်လိမ့်မည်။
MB_Substitute_Character နှင့် MB_conververt_encoding ၏ပူးပေါင်းဆောင်ရွက်မှုကိုသင်ပူးပေါင်းအသုံးပြုမှုသည်အရေးကြီးသည်။ ဤတွင်အချို့သောဘုံအကြံဥာဏ်များရှိပါသည်:
အချို့ဖြစ်ရပ်များတွင်အရင်းအမြစ် strings မှဇာတ်ကောင်များသည်သက်ဆိုင်သောစာလုံးများကိုပစ်မှတ် encoding တွင်မတွေ့ရပါ။ ယခုအချိန်တွင်သင်သည် mb_substitute_character ကို သုံး. concled code ကိုရှောင်ရှားရန်အခြားဇာတ်ကောင်များကိုသတ်မှတ်ရန်သင်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, တိကျသောသင်္ကေတများသို့မဟုတ်ကြိုးများဖြင့် ပြောင်းလဲ. မရပါ။
<span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-string">'!'</span></span><span>);
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-string">'မင်္ဂလာပါ,ကမ်ာဘ'</span></span><span>, </span><span><span class="hljs-string">'ASCII'</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "???,!"</span></span><span>
</span></span>ဤဥပမာတွင် - ကမ္ဘာ၏တရုတ်ပြည်၏တရုတ်အစိတ်အပိုင်းသည် ASCII encoding တွင်မဖွင့်နိုင်ပါ ။ ပြောင်းလဲနိုင်သောဇာတ်ကောင်အစားအသုံးပြုသည်။
အကယ်. သင်သည်စာလုံးကိုလုံးဝအစားထိုးခြင်းကိုရှောင်ရှားလိုပါကအမှားတစ်ခုဖြစ်ပေါ်သောအခါမူရင်းကြိုးသို့မဟုတ်ရပ်တန့်သတ်ဖြတ်မှု ကို တိုက်ရိုက်ပြန်ပို့ပါ ။ ဤအချိန်တွင် ပြောင်းလဲ. မရနိုင်သောဇာတ်ကောင်များအားလုံးကိုအစားထိုးမည်မဟုတ်ပါ။ စနစ်သည်အမှားတစ်ခုသို့မဟုတ်ခန့်မှန်းရခက်သည့်ရလဒ်ကိုပြန်ပို့နိုင်သည်။
<span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-string">'none'</span></span><span>);
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-string">'မင်္ဂလာပါ,ကမ်ာဘ'</span></span><span>, </span><span><span class="hljs-string">'ASCII'</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>; </span><span><span class="hljs-comment">// ပြောင်းလဲခြင်းမဖြစ်နိုင်လျှင်,သတိပေးချက်သို့မဟုတ်အမှားအယွင်းများပေါ်လာလိမ့်မည်</span></span><span>
</span></span>Target Encoding သည်အရင်းအမြစ် encoding ရှိအက္ခရာများအားလုံးကိုထိရောက်စွာထောက်ပံ့နိုင်ကြောင်းသေချာပါစေ။ အရင်းအမြစ်ကြိုးများသည်အဓိကအားဖြင့်ဇာတ်ကောင်အချို့ကိုအသုံးပြုသည်ကိုသင်သိပါကပစ်မှတ်ထားဇာတ်ကောင်များသည်ပိုမိုကျယ်ပြန့်သောဇာတ်ကောင်များကိုထောက်ပံ့သည် (UTF-8 ကဲ့သို့သောစာလုံးများကိုသင်ရှောင်ရှားနိုင်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် UTF-8 သည်ဘာသာစကားအားလုံးနီးပါးတွင်ဇာတ်ကောင်များနှင့်သဟဇာတဖြစ်သော Universal encoding option တစ်ခုဖြစ်သည်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"တရုတ်ကြိုးတွေ"</span></span><span>;
</span><span><span class="hljs-variable">$converted_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'GBK'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$converted_str</span></span><span>; </span><span><span class="hljs-comment">// ပုံမှန်ပြောင်းလဲခြင်း</span></span><span>
</span></span>သင်ပစ်မှတ် encoding သည်စာလုံးများအားလုံးကိုထောက်ပံ့နိုင်မလားမသေချာပါကပြောင်းလဲခြင်း၌ကျရှုံးနိုင်သည့်စာလုံးများကိုကိုင်တွယ်ရန် MB_SBSubstitute_character ၏ ရလဒ်ကိုအတည်ပြုရန်အကောင်းဆုံးဖြစ်သည်။
အချို့ဖြစ်ရပ်များတွင် MB_ConVert_encoding ကို အသုံးပြုသောအခါ ပြောင်းလဲ. မရသောစာလုံးများကိုသင်ကြုံတွေ့ရပါကပြောင်းလဲခြင်းလုပ်ငန်းစဉ်ကိုသေချာစေရန်အမှားကိုင်တွယ်သည့်ယန္တရားလိုအပ်နိုင်သည်။ @ ကို Suppress လုပ်ရန်နှင့်စီးပွားရေးလိုအပ်ချက်များအပေါ် အခြေခံ. အပိုဆောင်းအမှားဖမ်းယူခြင်းရှိမရှိဆုံးဖြတ်ရန် @ ကိုသုံးနိုင်သည်။
<span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-string">'none'</span></span><span>);
</span><span><span class="hljs-variable">$str</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-string">'ပြောင်းလဲလို့မရတဲ့ဇာတ်ကောင်'</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'ISO-8859-1'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$str</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဇာတ်ကောင်ပြောင်းလဲခြင်းပျက်ကွက်"</span></span><span>;
}
</span></span>mb_substitute_character နှင့် mb_convert_encoding သည် Communist encoding ပြောင်းလဲခြင်းဖြင့်ရှုပ်ထွေးသောအခြေအနေများကိုကိုင်တွယ်နိုင်သည့်အစွမ်းထက်သော PHP လုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. ကျိုးကြောင်းဆီလျော်သော code ပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးပိုမိုကောင်းမွန်သောအသုံးပြုသူအတွေ့အကြုံကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
သင့်လျော်သောအစားထိုးအက္ခရာများကိုသတ်မှတ်ခြင်း (ဥပမာ mb_sbstitute_character ) ကိုသတ်မှတ်ခြင်းသည်စာလုံးပြောင်းလဲခြင်းမအောင်မြင်သောအခါသင်မလိုအပ်သော garbled code code ကိုရှောင်ရှားရန်ခွင့်ပြုသည်။
MB_ConVert_encoding ကိုသုံးသောအခါ, feating encoding encoding encoding encoding ကိုရွေးချယ်ပါ။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပြောင်းလွယ်ပြင်လွယ်ဖြင့် PHP developer များသည် php developer များကအက္ခရာစဉ်များနှင့်အပလီကေးရှင်းများအနေဖြင့်ပလက်ဖောင်းများနှင့်အပြည်ပြည်ဆိုင်ရာပံ့ပိုးမှုစွမ်းရည်ကိုတိုးတက်အောင်လုပ်နိုင်သည်။