PHP တွင် strings ကွဲပြားခြားနားသောဇာတ်ကောင် encoding ပုံစံများအတွက်ဖြစ်နိုင်သည်။ အသုံးအများဆုံးမှာ iso-8859-1 (လက်တင်စကားဟူသည့်) နှင့် UTF-8 ဟုလည်းခေါ်သည်။ ISO-8859-1 သည်အဓိကအားဖြင့်အနောက်ဥရောပဘာသာစကားများတွင်အသုံးပြုသော byte encoding ဖြစ်သည်။ Utf-8 သည် UTF-8 သည် Byte-byte encoding ဖြစ်ပြီးစာလုံးအားလုံးနီးပါးကိုကိုယ်စားပြုနိုင်သည်။
ပြင်ပဒေတာအရင်းအမြစ် (ဥပမာဒေတာဘေ့စ်, သို့မဟုတ်ဖိုင်) မှအချက်အလက်များကိုသင်ဖတ်သည့်အခါဤအချက်အလက်များ၏ encoding format သည်ပရိုဂရမ်မှအသုံးပြုသော encoding format နှင့်ကိုက်ညီမှုမရှိပါ။ ယခုအချိန်တွင်သင်သည် Encoding ကိုပုံမှန် display နှင့် processing သေချာစေရန်ပြောင်းလဲရန်လိုအပ်သည်။
Utf8_enCode () function ကို UTF-8 encoded သို့ iso-8859-1 encoded string ကိုပြောင်းလဲပေးသည်။ အကယ်. သင်၏ဒေတာအရင်းအမြစ်သည် ISO-8859-1 encoding ကို အသုံးပြု. PHP မှရပ်တည်သည့် string ကိုအသုံးပြုပါက UTF-8 encoding ဖြစ်သည်, သင်ဤ function မှတဆင့်ပြောင်းရန်လိုအပ်သည်။
<span><span><span class="hljs-variable">$isoString</span></span><span> = </span><span><span class="hljs-string">"Café"</span></span><span>; </span><span><span class="hljs-comment">// ဒီ string ကိုယူဆ ISO-8859-1 ကုဒ်</span></span><span>
</span><span><span class="hljs-variable">$utf8String</span></span><span> = </span><span><span class="hljs-title function_ invoke__">utf8_encode</span></span><span>(</span><span><span class="hljs-variable">$isoString</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$utf8String</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:Café</span></span><span>
</span></span>
UTF8_encode () လိုအပ်ကြောင်းဆုံးဖြတ်ရန်ကျွန်ုပ်တို့သည်အောက်ပါအခြေအနေများကိုအတည်ပြုရန်လိုအပ်သည်။
ဒေတာအရင်းအမြစ် encoding format - အကယ်. သင်၏ဒေတာသည် ISO-8859-1 encoding (သို့မဟုတ်အခြား Non-UTF-8 encoding) ဖြစ်ပါက UTF-8 တွင် utf8_encode () ကို အသုံးပြုရန်လိုအပ်သည်။
လက်ရှိပတ် 0 န်းကျင်အတွက်ပုံမှန်ဇာတ်လမ်းများ - ခေတ်မီ PHP ပတ် 0 န်းကျင်အများစုသည် UTF-8 ကိုအသုံးပြုထားပြီးဖြစ်သည်။ အကယ်. သင်၏လျှောက်လွှာပတ် 0 န်းကျင်သည် UTF-8 encoding ပြီးပါကပြင်ပမှဖတ်သောအချက်အလက်များကိုအမှန်တကယ် encoding နှင့်အညီပြောင်းလဲရန်လိုအပ်သည်။
browser (သို့) terminal မှပြသသည့်ကုဒ်နံပါတ် - သင်၏လျှောက်လွှာအချက်အလက်များကို browser မှထုတ်ယူပါက Browser များသည် UTF-8 encoding ကိုသုံးရန်မျှော်လင့်ကြသည်။ ဒေတာ encoding သည် browser မှမျှော်လင့်ထားသည့်စာလုံးနှင့်မကိုက်ညီပါကပြ problems နာများပြ problems နာများပေါ်ပေါက်နိုင်သည်။ ဤအချိန်တွင်သင်သည် utf8_encode () ကို မှန်ကန်သောဇာတ်ကောင်အစုံသို့ပြောင်းရန်သုံးနိုင်သည်။
ဒေတာဘေ့စ်မှနယ်ပယ်တစ်ခုကိုသင်ဖတ်ရှုပါက၎င်း၏ encoding format သည် ISO-8859-1 ဖြစ်ပြီး, သင်ဝဘ်စာမျက်နှာပေါ်တွင်ဤကွက်လပ်ကိုပြရန်လိုအပ်သည်ဆိုပါစို့။ concled code ကိုရှောင်ရှားရန်သင်ပြောင်းလဲခြင်းအတွက် Utf8_encode () ကို သုံးရန်လိုအပ်သည်။
<span><span><span class="hljs-comment">// ဒေတာဘေ့စ်မှဖတ်ပါ ISO-8859-1 ကုဒ်数据</span></span><span>
</span><span><span class="hljs-variable">$dbString</span></span><span> = </span><span><span class="hljs-string">"El Ni?o"</span></span><span>; </span><span><span class="hljs-comment">// ဒေတာဗေ့စ်မှဖတ်သည့် string ကိုဟုယူဆပါ ISO-8859-1 ကုဒ်</span></span><span>
</span><span><span class="hljs-comment">// ကူးပြောင်း UTF-8 ကုဒ်</span></span><span>
</span><span><span class="hljs-variable">$utf8String</span></span><span> = </span><span><span class="hljs-title function_ invoke__">utf8_encode</span></span><span>(</span><span><span class="hljs-variable">$dbString</span></span><span>);
</span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း到浏览器</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$utf8String</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:El Ni?o</span></span><span>
</span></span>
ဒေတာသည် UTF-8 encoded ပြီးသားဖြစ်ကြောင်းအတည်ပြုပါက Utf8_encode () ကို ထပ်မံခေါ်ဆိုရန်မလိုအပ်ပါ။ သို့မဟုတ်အခြားမလိုအပ်သောပြောင်းလဲခြင်းပြ problems နာများဖြစ်ပေါ်လာနိုင်သည်။
အချို့ကိစ္စများတွင် string ကို encoding format နှင့်မသေချာပေ။ ဤအချိန်တွင်သင်သည် String ၏ encoding ကိုရှာဖွေရန် MB_DetEct_encoding () function ကိုသုံးနိုင်သည်။ ပြောင်းလဲခြင်းလိုအပ်သည်ကိုဆုံးဖြတ်ရန်သင်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"El Ni?o"</span></span><span>; </span><span><span class="hljs-comment">// 假设这个字符串的ကုဒ်未知</span></span><span>
</span><span><span class="hljs-comment">// 检测字符串的ကုဒ်</span></span><span>
</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">$string</span></span><span>, </span><span><span class="hljs-string">"ISO-8859-1, UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$encoding</span></span><span> == </span><span><span class="hljs-string">"ISO-8859-1"</span></span><span>) {
</span><span><span class="hljs-comment">// ဖြစ်လာခဲ့လျှင် ISO-8859-1 ကုဒ်,则ကူးပြောင်း UTF-8</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">utf8_encode</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း转换后的字符串</span></span><span>
</span></span>
ဖြစ်နိုင်လျှင်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင် UTF-8 encoding ကိုသုံးရန်ကြိုးစားပါ။ UTF-8 သည်ကမ္ဘာတဝှမ်းရှိဘာသာစကားဇာတ်ကောင်အားလုံးနီးပါးကိုထောက်ပံ့သည်။ MySQL ဒေတာဘေ့စ်ကိုသင်အသုံးပြုနေပါက Database နှင့်စားပွဲများကို UTF-8 သို့သတ်မှတ်ရန်အကြံပြုသည်။
<span><span><span class="hljs-keyword">CREATE</span></span><span> DATABASE my_database </span><span><span class="hljs-type">CHARACTER</span></span><span> </span><span><span class="hljs-keyword">SET</span></span><span> utf8mb4 </span><span><span class="hljs-keyword">COLLATE</span></span><span> utf8mb4_unicode_ci;
</span></span>
ဤနည်းအားဖြင့်သင်သည် Post-processing encoding consters ၏အခက်အခဲများကိုလျှော့ချနိုင်သည်။