လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Android နှင့် PHP ရှိ Bubbled တရုတ်ပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောနည်းလမ်း

Android နှင့် PHP ရှိ Bubbled တရုတ်ပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောနည်းလမ်း

gitbox 2025-06-27

Android application များနှင့် PHP တရုတ်ရိုးရာတွင်ပြ problem နာနှင့်ဖြေရှင်းနည်းများ

တရုတ်ဆံပင်အိတ်ကုဒ်သည် Android applications များသည် php backend database များနှင့်အပြန်အလှန်ဆက်သွယ်သောအခါဘုံပြ problem နာဖြစ်သည်။ ဤဆောင်းပါးသည် developer များက developer များကိုရှောင်ရှားရန်နှင့်ဒေတာကူးစက်မှုကိုမှန်ကန်ကြောင်းသေချာစေရန်ကူညီရန်ကူညီရန်လက်တွေ့ကျသောနည်းလမ်းအမျိုးမျိုးကိုမိတ်ဆက်ပေးလိမ့်မည်။

ဒေတာဘေ့စ်ဇာတ်ကောင် set up

PHP သည်ဒေတာဘေ့စ်မှအချက်အလက်များကိုရရှိသောအချက်အလက်များကိုဒေတာဘေ့စ်မှရရှိသောအခါတိုင်းအချက်အလက်များကို UTF-8 format ဖြင့် encoded သည်။ ထို့ကြောင့်ဒေတာဘေ့စ်နှင့်ဒေတာစားပွဲများကို UTF8 သို့မဟုတ် UTF8MB4 ကိုသတ်မှတ်ရန်သေချာစေရန်အရေးကြီးသည်။

MySQL ဇာတ်ကောင် set configuration ကို

MySQL configuration file ထဲတွင်အောက်ပါ configuration ကို my.cnf :

 [MySQLD]
Claits-Set-server = UTF8
Collation-Server = Utf8_Gennaler_CI

MySQL ဝန်ဆောင်မှုကိုပြုပြင်ပြီးနောက် MySQL ဝန်ဆောင်မှုကိုပြန်လည်စတင်ပါ။ အောက်ပါ SQL command ကိုကွပ်မျက်ခြင်းဖြင့်ဇာတ်ကောင် settings ကိုစစ်ဆေးပါ။

 '% အက်ခရာ%' ကဲ့သို့သော variable တွေကိုပြပါ။

အကယ်. ပြန်လာသောရလဒ်တွင်သတ်မှတ်ထားသည့်ဇာတ်ကောင်သည် UTF8 သို့မဟုတ် UTF8MB4 ဖြစ်သည်ဆိုပါက configuration သည်အောင်မြင်သည်။

php အတွက်ဇာတ်ကောင် seting setting

ဒေတာဘေ့စ်ကိုချိတ်ဆက်ပြီးနောက်ဒေတာအပြန်အလှန်ဆက်သွယ်မှုကုဒ်သည်တသမတ်တည်းဖြစ်ကြောင်းသေချာစေရန် PHP Code တွင် UTF Code တွင်ဖော်ပြရန်ဖော်ပြရန်အကြံပြုသည်။

<?php
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
mysqli_set_charset($conn, "utf8");
?>

android app များတွင်ဇာတ်ကောင် sets setting

Android ဘက်တွင် HTTP တောင်းဆိုမှုများကိုပေးပို့သည့်အခါ, တောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများအတွင်းအမှိုက်များ code ကိုကာကွယ်ရန် UTF-8 ကို UTF-8 အဖြစ်သတ်မှတ်ရန်လိုအပ်သည်။

httppurlconnection ကိုအသုံးပြုခြင်း

 ကြိုးစားကြည့်ပါ
    URL URL = URL အသစ် (http://www.example.com ");
    httpurlconnection connection = (httpurlconnection) url.opencome ();
    Connection.SetrequestMethod ("Get");
    Connection.SetrequestPropertyPerterty ("other-charset", "UTF-8"),
    inputprentstream တုံ့ပြန်မှု = connection.getPputtream ();
} ဖမ်း (ioException E) {
    e.printststrattace ();
}

httpclient သုံးပြီး

 ကြိုးစားကြည့်ပါ
    defaulthttclient httpclient = အသစ် defaulthttplient ();
    httpget httpget = httppget (http://www.example.com ") ။
    httpget.setheader ("Utf-8",
    HTTPResPons Rextion = httpclient.xecute (httpgget);
    httpentity entity = တုံ့ပြန်မှု။
    Inputstream inputtrameam = entity.Getcontent ();
} ဖမ်း (ioException E) {
    e.printststrattace ();
}

တရုတ်၏ URL encoding

နောက်ထပ်ဘုံအဖြေတစ်ခုမှာ URL ကို Encled condbled code ကိုထုတ်လွှင့်နေစဉ်အတွင်း code ကိုရှောင်ရှားရန်တရုတ်အကြောင်းအရာများကို Encledode ဖြစ်သည်။ Android တွင် Java.Net.urlencoder ကို သုံးနိုင်သည်။

 string string = "တရုတ်ကြိုး";
string encodedstredstredstredStredstr = urlocoder.enode (straft-8 ");

PHP ဘက်မှလက်ခံပြီးနောက် URDCODEDED function ကို Decode လုပ်ရန်အသုံးပြုပါ။

 $ str "" URL% 20% E7% BC% BC% BC% BC% A0% 81 ";
$ decodedstr = urdnecode ($ str);

အကျဉ်းချုပ်

MySQL database character character set, php connection character set ကိုအတိအလင်းသတ်မှတ်ခြင်းဖြင့် Android client ပေါ်တွင် encoding encoding ကိုအတိအလင်းသတ်မှတ်ခြင်းအားဖြင့်, ထို့အပြင်တရုတ်ဘာသာဖြင့် URL encoding သည်လက်တွေ့ကျသောအရန်နည်းလမ်းလည်းဖြစ်သည်။ ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းအထက်ပါဖြေရှင်းချက်များသည်အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီ,