MB_Substitute_Character () သည် PHP တွင် Multibyte string processing function တစ်ခုဖြစ်သည်။ တရားမ 0 င်စာလုံးများသည်များသောအားဖြင့်လက်ရှိဇာတ်ကောင် encoding တွင်ကိုယ်စားပြုသောစာလုံးများကိုရည်ညွှန်း။ မရပါ,
<span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$substitute_character</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span>): </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>
$ Explitch_Character : အခြားရွေးချယ်စရာဇာတ်ကောင်တစ် ဦး ရွေးချယ်စရာဇာတ်ကောင်သို့မဟုတ် encoding ကိုဖေါ်ပြသည်။ NULL မှသတ်မှတ်ထားသည့်အခါလက်ရှိအစားထိုးဇာတ်ကောင်ကိုပြန်ပို့သည်။
ပြန်လာတန်ဖိုး - လက်ရှိအစားထိုးဇာတ်ကောင်၏ encoding ကိုပြန်ပို့ပါ။
ဘာသာစကားမျိုးစုံပတ် 0 န်းကျင်တွင် encoding mismatch ကိုဒေတာ input နှင့် output တွင်တွေ့ရသည်။ ဥပမာအားဖြင့်, သင်သည်ဇာတ်ကောင်အချို့ကိုအက်ခရာအချို့ကိုထုတ်ယူခြင်းသည်ထိုဇာတ်ကောင် set ကိုမထောက်ပံ့သောစနစ်တစ်ခုသို့ 0 င်ရောက်ခြင်းကိုလွှဲပြောင်းရန်သို့မဟုတ်တရားမ 0 င်စာလုံးများပါ 0 င်သည့်အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါအမှားတစ်ခုပြုလုပ်နိုင်သည်။ ဤပြ problems နာများကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် MB_sbstitute_Character () အစားထိုးဇာတ်ကောင်ကိုတရားမ 0 င်အက္ခရာများမှန်ကန်စွာကိုင်တွယ်နိုင်ရန်အတွက်အစားထိုးတတ်သောဇာတ်ကောင်ကိုသုံးနိုင်သည်။
လက်ရှိအစားထိုးထားသောအက်ခရာကို MB_sbstitute_Character () function မှတဆင့်အငြင်းပွားမှုများကိုဖြတ်သန်းခြင်းဖြင့်ရရှိနိုင်သည်။
<span><span><span class="hljs-variable">$current_substitute</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_substitute_character</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိအခြားရွေးချယ်စရာဇာတ်ကောင် encoding: "</span></span><span> . </span><span><span class="hljs-variable">$current_substitute</span></span><span>;
</span></span>
ပုံမှန်အားဖြင့် MB_sbstitute_Character () သည် အခြားရွေးချယ်စရာဇာတ်ကောင်ကိုကိုယ်စားပြုသော encoded value ကိုပြန်ပို့သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် default အစားထိုးဇာတ်ကောင်သည် 0xFFFD ဖြစ်ပြီး Unicode standard တွင်သတ်မှတ်ထားသည့် "အငှားအက်ခရာ" ဖြစ်သည်။
အစားထိုးဇာတ်ကောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန်သင်သည်အစားထိုးအက်ခရာ၏ encoding ကို mb_substitute_character မှ parameter အဖြစ် parameter တစ်ခုအဖြစ်ဖြတ်သန်းနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်မေးခွန်းအမှတ်အသား ( ? ) ကဲ့သို့သောတိကျသောဇာတ်ကောင်တစ်ခုသို့သတ်မှတ်နိုင်သည်။
<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>
ဤအချိန်တွင်တရားမ 0 င်ဇာတ်ကောင်အားလုံးကိုပြောင်းလဲခြင်းဖြစ်စဉ်တွင်မေးခွန်းအမှတ်အသားများဖြင့်အစားထိုးလိမ့်မည်။
MB_Substitute_Character_character () အတွက်အသုံးအများဆုံး application ဇာတ်လမ်းသည် MB_ConVert_encoding () ကို encoding ပြောင်းခြင်းအတွက်ဖြစ်သည်။ သငျသညျ encoding တစ်ခုမှတရားမ 0 င်ဇာတ်ကောင်များပါ 0 င်သော string တစ်ခုသို့ပြောင်းလဲလိုပါကပြောင်းလဲခြင်းဖြစ်စဉ်တွင်အမှားအယွင်းများမချရန်အခြားဇာတ်ကောင်များကိုသင်ထည့်သွင်းနိုင်သည်ဆိုပါစို့။
<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">// Encoding နှင့်တရားမဝင်ဇာတ်ကောင်များကိုအစားထိုးပါ</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">$input_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">echo</span></span><span> </span><span><span class="hljs-variable">$converted_str</span></span><span>;
</span></span>
ဤဥပမာတွင် $ input_string သည် တရားမ 0 င်သောဇာတ်ကောင်များပါ 0 င်ပါက၎င်းတို့ကိုမေးခွန်းအမှတ်အသားတစ်ခုသို့ပြောင်းလဲလိမ့်မည်။
ပုံမှန်အစားထိုးဇာတ်ကောင် ( 0xfffd ) သို့မဟုတ်မေးခွန်းအမှတ်အသား ( ? ) ကိုသုံးခြင်းအပြင်မေးခွန်းအမှတ်အသား (?), သင်လည်းမည်သည့်ဇာတ်ကောင်ကိုမဆိုသတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့် * အခြားရွေးချယ်စရာဇာတ်ကောင်အဖြစ်အသုံးပြုပါ။
<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>
၎င်းသည်အချို့သောကိစ္စရပ်များတွင်တရားမ 0 င်ဇာတ်ကောင်များ၏တည်နေရာကိုပိုမိုရှင်းလင်းစွာမှတ်သားရန်သင့်အားကူညီနိုင်သည်။
သင့်ရဲ့အမှန်တကယ်လိုအပ်ချက်များအရသင့်လျော်သောအခြားရွေးချယ်စရာဇာတ်ကောင်များကိုရွေးချယ်သင့်သည်။ အကယ် . အစားထိုးအက္ခရာများကိုအသုံးပြုသူမြင်နိုင်သည်ဆိုပါက, သို့မဟုတ် * ။
Encoding ကိုကိုင်တွယ်တဲ့အခါမှာ target encoding ကိုသင်ရွေးချယ်သောအခြားရွေးချယ်စရာဇာတ်ကောင်များကိုထောက်ခံကြောင်းသေချာပါစေ။ သင်ရွေးချယ်ထားသောဇာတ်ကောင်ကိုပစ်မှတ် encoding တွင်မဖော်ပြနိုင်ပါက၎င်းကိုပုံမှန်အစားထိုးဇာတ်ကောင်ဖြင့်အစားထိုးနိုင်သည်။
အထူးသဖြင့်ပြင်ပ input သို့မဟုတ်စိတ်မချရသောဒေတာအရင်းအမြစ်များမှအချက်အလက်များကိုထုတ်ယူသောအခါသင့်တော်သောအခြားရွေးချယ်စရာဇာတ်ကောင်များထံမှအချက်အလက်များကိုထုတ်ယူသောအခါသင့်တော်သောအခြားရွေးချယ်စရာဇာတ်ကောင်ကိုသတ်မှတ်ခြင်းသည်ဒေတာအဂတိလိုက်စားမှုသို့မဟုတ်ပရိုဂရမ်အမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
mb_substitute_character () function သည် string encoding ပြောင်းလဲခြင်းနှင့်ဆက်ဆံရာတွင်ကျွန်ုပ်တို့အတွက်ပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်ထားသည်။ တရားမ 0 င်သောဇာတ်ကောင်များကြုံတွေ့ရသောအခါ၎င်းတို့အားရှင်းလင်းပြတ်သားစွာအက္ခရာများဖြင့်အစားထိုးရန်ပရိုဂရမ်ပျက်ကျမှုသို့မဟုတ်အမှားရလဒ်များကိုရှောင်ရှားရန်ရွေးချယ်နိုင်သည်။ ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည်ဘာသာစကားမျိုးစုံဘာသာစကားများကိုကိုင်တွယ်ရန်ကျွန်ုပ်တို့၏စွမ်းရည်ကိုတိုးတက်စေရုံသာမကပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုလည်းတိုးတက်စေသည်။ စီစဉ်ထားသောအခြားအက္ခရာများကိုပြင်ဆင်ခြင်းဖြင့်ပရိုဂရမ်မာများသည်ရှေ့နောက်မညီစာဝှက်ခြင်းကြောင့်ဖြစ်ပေါ်လာသောအခက်အခဲများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။