Convert_Cyr_String သည် PHP ရှိ function တစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">convert_cyr_string</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">$from</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$to</span></span><span> )
</span></span>$ str : ပြောင်းလဲခံရဖို့ string ကို။
ထံမှ $ - string ကို၏ encoding ရိုက်ထည့်ပါ။
$ to : output string ကို၏ပစ်မှတ် encoding ။
ဘုံ encoding အမျိုးအစားများပါဝင်သည်:
Koi8-R : ရုရှားဇာတ်ကောင်အစုံ။
Windows-1251 : ဘုံရုရှား encoding ။
ISO-8859-5 : ရုရှားစာလုံးများကိုထောက်ပံ့သောအခြား encoding ။
ပုံမှန်အမှားအရင်းအမြစ်တစ်ခုမှာ inputing string ၏ encoding type သည် charge_cyr_string တွင်ပေးသော parameter မှဒေါ်လာ နှင့်ကိုက်ညီမှုမရှိပါ။ ဥပမာအားဖြင့် input string သည် koi8-r encoding ဖြစ်သည်ဟုသင်ထင်ကောင်းထင်ကောင်းထင်လိမ့်မည်။ တကယ်တော့ Windows-1251 encoding ဖြစ်ပြီးပြောင်းလဲခြင်းရလဒ်သည်မျှော်လင့်ချက်များနှင့်တွေ့ဆုံခြင်းမဟုတ်ပါ။
ဖြေရှင်းချက် -
input string ကို၏ encoding သည် parameter သည် $ နှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ အကယ်. input ကို encoding နှင့် ပတ်သက်. သင်မသေချာပါက string encoding type ကိုရှာဖွေရန် MB_Detect_encoding () function ကိုသုံးရန်ကြိုးစားနိုင်သည်။
<span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_detect_encoding</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span>;
</span></span>Convert_Cyr_string ၏ parametering မှ $ tarameter သည်ပစ်မှတ် encoding ကိုသတ်မှတ်ပါတယ်။ အကယ်. ပစ်မှတ် encoding ကိုမပံ့ပိုးပါကသို့မဟုတ်မမှန်ကန်ပါကပြောင်းလဲခြင်းပျက်ကွက်မှုသို့မဟုတ်ရလဒ်သည်ကိုက်ညီမှုမရှိပါ။ သာမန် coding အမှားများတွင်:
ပစ်မှတ် encoding မတည်ရှိပါဘူးသို့မဟုတ်မှားယွင်းစွာစာလုံးပေါင်းပါဘူး။
ပစ်မှတ် encoding ပစ်မှတ်ဇာတ်ကောင် set ကိုမထောက်ခံပါဘူး။
ဤကိစ္စတွင် PHP ၏ထောက်ခံသည့် encoding list ကို $ $ parameter သည်မှန်ကန်ကြောင်းသေချာစေရန် PHP ၏ထောက်ခံသည့် encoding list ကိုစစ်ဆေးပါ။ အထောက်အပံ့ပေးသော encoding list အတွက် တရားဝင် PHP စာရွက်စာတမ်းများကို သင်ရည်ညွှန်းနိုင်သည်။
အကယ် . ပြောင်းလဲခြင်းသည် လိုအပ်ချက်များကို ဖြည့်ဆည်းရန်သို့မဟုတ်မဖြေရှင်းနိုင်သောပြ problem နာကိုမတွေ့လျှင်, ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုသည်ပိုမိုကျယ်ပြန့်သော encoding commission support ကိုထောက်ပံ့ပေးနိုင်သည်။
ဥပမာအားဖြင့်, ICONV () ကို စာလုံးအလုံးစုံပြောင်းလဲခြင်းအတွက်အသုံးပြုပါ။
<span><span><span class="hljs-variable">$converted_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv</span></span><span>(</span><span><span class="hljs-string">'KOI8-R'</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span></span>သို့မဟုတ် mb_convert_encoding ကို သုံးပါ။
<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">'KOI8-R'</span></span><span>);
</span></span>ပြ the နာကိုမဖြေရှင်းနိုင်သေးပါက debugging tools များနှင့်မှတ်တမ်းများမှတစ်ဆင့်၎င်းကိုထပ်မံပြ ubl နာကိုဖြေရှင်းနိုင်သည်။ သေချာအောင်လုပ်ပါ:
မူရင်း string ကိုနှင့်ပြောင်းလဲ string ကို output ။
အက္ခရာများသည်ပြောင်းလဲခြင်းဖြစ်စဉ်တွင်ဇာတ်ကောင်များပျက်စီးခြင်းသို့မဟုတ်ပျောက်ဆုံးခြင်းရှိမရှိစစ်ဆေးသည်။
မမြင်ရသောဇာတ်ကောင်များသို့မဟုတ်အမှိုက်ပုံကုဒ်များရှိမရှိကြည့်ရန်ဘာသာပြောင်းဝင်လာခြင်းမပြုမီနှင့်အပြီးတွင် encoding ကိုမနှိုင်းယှဉ်ပါနှင့်။
ဥပမာအားဖြင့် PHP တွင်သတင်းအချက်အလက် output ကို debugging debugging:
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'မူရင်း string ကို:'</span></span><span> . </span><span><span class="hljs-variable">$str</span></span><span> . PHP_EOL;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'string ကိုပြောင်းလဲ:'</span></span><span> . </span><span><span class="hljs-variable">$converted_str</span></span><span> . PHP_EOL;
</span></span>ထို့အပြင်သင်သည် VIAR_DUMMUMP () သို့မဟုတ် ပုံနှိပ်ထုတ်ဝေသော စာလုံးများကိုစစ်ဆေးခြင်းမပြုနိုင်သောသို့မဟုတ်မမြင်ရသောဇာတ်ကောင်များကိုစစ်ဆေးရန်သင့်အားအသေးစိတ်အချက်အလက်များကိုထုတ်ဖော်ပြောဆိုနိုင်သည်။
အချို့သောဇာတ်ကောင်အစုံ (ဥပမာ koi8-r နှင့် Windows-1251 ကဲ့သို့သော) ရုရှားစာလုံးများကိုပံ့ပိုးသော်လည်း၎င်းတို့အကြားဒေသဆိုင်ရာကွဲပြားခြားနားမှုအချို့ရှိနေသေးသည်။ အချို့သောဇာတ်ကောင်များကိုပြောင်းလဲခြင်းအတွင်းပြောင်းလဲခြင်းတွင်အထူးသဖြင့်မူရင်း string တွင်အဆန်းသို့မဟုတ်ဒေသဆိုင်ရာဇာတ်ကောင်များပါ 0 င်ပါက။ ဤကိစ္စတွင် UTF-8 ကဲ့သို့သောအခြားအက္ခရာများကို အသုံးပြု. ပိုမိုကောင်းမွန်သောလိုက်ဖက်ညီမှုဖြင့်ထိန်းသိမ်းရန်ကြိုးစားပါ။
နောက်ဆုံးအနေဖြင့် PHP ဗားရှင်းနှင့်ဆက်စပ်သောတိုးချဲ့မှုများသည်စနစ်တကျအလုပ်လုပ်နေသည်ကိုအတည်ပြုပါ။ ဥပမာအားဖြင့် PHP ဗားရှင်းအချို့တွင် ပြောင်းလဲခြင်း သည်အပြည့်အဝမထောက်ပံ့နိုင်ပါသို့မဟုတ်လူသိများသော bug များရှိသည်။ ဤကိစ္စတွင်သင် PHP ဗားရှင်းကိုအဆင့်မြှင့်ရန်စဉ်းစားနိုင်သည်။