Rest APIS ကိုတီထွင်သောအခါအချက်အလက်များကိုမှန်ကန်စွာ encode လုပ်ရန်နှင့်လွှဲပြောင်းရန်အလွန်အရေးကြီးသည်။ အထူးသဖြင့် MySQL Databases နှင့် Php ကို အသုံးပြု. APIs ရေးသားသည့်အခါဒေတာဘေ့စ်မှအချက်အလက်များဖတ်ရှုသည့်အချက်အလက်များကို JSON ပုံစံသို့မှန်ကန်စွာ encoded လုပ်နိုင်ပြီး client ကိုမှန်ကန်စွာလွှဲပြောင်းပေးနိုင်ရန်လိုအပ်သည်။ encoding နှင့်အတူပြ a နာတစ်ခုရှိလျှင်တရုတ်ဇာတ်ကောင်များသို့မဟုတ်အခြားပုံမှန်မဟုတ်သော display ဖြစ်စဉ်များကိုရှုပ်ထွေးစေနိုင်သည်။ MySQL databases :: Get_charset Method မှတဆင့် MySQL databases ကိုအသုံးပြုသည့်အခါ JSON Encoding ၏မှန်ကန်မှုကိုဤဆောင်းပါးကရှင်းပြပါမည်။
ကျွန်ုပ်တို့၏အနားယူ API သည် MySQL ဒေတာဘေ့စ်မှအချက်အလက်များကို 0 ယ်ယူပြီး 0 န်ဆောင်မှုခံယူသူအားပြန်ပို့သောအခါအချက်အလက်ဖလှယ်မှုကို JSON format ဖြင့်ပြုလုပ်လေ့ရှိသည်။ ဒေတာဘေ့စ်ဇာတ်ကောင်အစုံသည် PHP encoding နှင့်မကိုက်ညီပါကအထူးသဖြင့်တရုတ်လူမျိုးများပြန်လာသည့်အထူးအက္ခရာများကိုပြန်လာသည့်အခါကျောက်တုံးများပေါ်လာနိုင်သည်။ များသောအားဖြင့်အမှိုက်ပုံပြ problems နာများသည်များသောအားဖြင့်ရှေ့နောက်မညီစာမပြည့်စုံသောအကျင့်ကိုကျင့်ခြင်းကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကို encoding လုပ်နေသည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုသည်ဤပြ problems နာများကိုရှောင်ရှားရန်မှန်ကန်သောဇာတ်ကောင်ကိုအသုံးပြုသည်သေချာစေရန်လိုအပ်သည်။
MySQL databases တွင်ကျွန်ုပ်တို့သည်စာသားအချက်အလက်များကိုသိမ်းဆည်းရန် UTF-8 ဇာတ်ကောင်ကိုအသုံးပြုလေ့ရှိသည်။ PHP တွင် MySQL ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်ရန် MySQLI extension ကိုအသုံးပြုသည်။ MySQLI :: Get_charset Method သည်လက်ရှိဒေတာဘေ့စ်၏ဆက်သွယ်မှု၏ဇာတ်ကောင်အစုံကိုရယူရန်နှင့် UTF-8 ဇာတ်ကောင် set ကိုအသုံးပြုနေသည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$current_charset = $mysqli->get_charset();
// လက်ရှိဇာတ်ကောင်အစုံ output ကို
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $current_charset->charset;
// ဇာတ်ကောင်ကိုသတ်မှတ်ပါ UTF-8(မသတ်မှတ်လျှင်)
if ($current_charset->charset !== 'utf8') {
if (!$mysqli->set_charset("utf8")) {
die("ဇာတ်ကောင် setting မအောင်မြင်ပါ: " . $mysqli->error);
}
}
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
// ရှာဖွေမှုရလဒ်များကိုစစ်ဆေးပါ
if ($result->num_rows > 0) {
$data = array();
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
// ပြန်လာ JSON အချက်အလက်အချက်အလက်များ
echo json_encode($data, JSON_UNESCAPED_UNICODE);
} else {
echo "ဒေတာမရှိပါ";
}
// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$mysqli->close();
?>
အထက်ပါကုဒ်တွင်ပထမ ဦး စွာ MySQLI :: Get_charset မှတဆင့်လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှု၏ဇာတ်ကောင်အစုံရရှိသည်။ လက်ရှိဇာတ်ကောင် set သည် UTF8 မဟုတ်ပါက Set_charet ("UTF8") ကို UTF8 သို့သတ်မှတ်ရန်အသုံးပြုပါ။ ဤအချက်သည်ဒေတာဘေ့စ်မှကျွန်ုပ်တို့ဖတ်သောအချက်အလက်များသည်ကူးစက်သောပြ problems နာများမရှိသလောက်ဖြစ်သည်။
UTF-8 သည်ကမ္ဘာပေါ်တွင်ဘာသာစကားအားလုံးနီးပါးကိုကိုယ်စားပြုနိုင်သည့် Multi-byte character encoding method ဖြစ်သည်။ 0 က်ဘ်တီထွင်မှုတွင် UTF-8 သည် ဘာသာစကားမျိုးစုံအချက်အလက်များကိုသိုလှောင်ခြင်းနှင့်လဲလှယ်ခြင်းတို့ကိုထောက်ပံ့သောကြောင့်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ အထူးသဖြင့်ကျန်တဲ့ API မှာသယ်သွားသောအချက်အလက်များ တွင် ဘာသာစကားအမျိုးမျိုးမှအက်ခရာအမျိုးမျိုးမှစာလုံးများပါ 0 င်သည်။
PHP တွင် JSON_enCode တွင် PHP Arrays သို့မဟုတ်အရာဝတ်ထုများကို JSON strings သို့ encode လုပ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ သို့သော် json_encode သည် ascii မဟုတ်သောဇာတ်ကောင်များကဲ့သို့သောစာလုံးအချို့ကိုပုံမှန်အားဖြင့်မှလွတ်မြောက်လိမ့်မည်။ output json string သည်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်မလွတ်မြောက်ဘဲတရုတ်စာလုံးများကိုပြသနိုင်အောင်သေချာစေရန် JSONS_UNSESesSescaped_unicode option ကိုသုံးနိုင်သည်။
echo json_encode($data, JSON_UNESCAPED_UNICODE);
JSON_UNSESesTested_unicode option ကိုအသုံးပြုခြင်းသည်တရုတ်စာလုံးများကိုယူနီကုတ်ကုဒ် (ဥပမာ, JSON Data ၏ဖတ်နိုင်မှုကိုတိုးတက်အောင်ပြုလုပ်ခြင်းမှကာကွယ်ရန်တားဆီးနိုင်သည် ။
သင်၏တောင်းဆိုချက်အရ URL ကိုအသုံးပြုသောကုဒ်၏အစိတ်အပိုင်းတစ်ခုရှိပါက M66.net ဖြင့် domain name ကိုအစားထိုးရန်လိုအပ်သည်။ ထိုကဲ့သို့သောလိုအပ်ချက်အတွက်ဒေတာဘေ့စ်ရှိ URL နေရာများရှိ URL နယ်ပယ်များကိုပြုပြင်သည့်အခါဒိုမိန်းအမည်ကိုကျွန်ုပ်တို့ပြောင်းလဲနိုင်သည်။
// ဒါကြောင့်ဒေတာဘေ့စကနေဖတ်ရှုကြောင်းယူဆ URL အချက်များ
$url = "http://example.com/api/resource";
// အသုံးပြု str_replace ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$updated_url = str_replace("example.com", "m66.net", $url);
// output ကို updated URL
echo $updated_url;
အထက်ဖော်ပြပါကုဒ်များတွင် URL လိပ်စာများသည်လိုအပ်ချက်များနှင့်ကိုက်ညီစေရန် M66.net ရှိ Domain Name ကိုအစားထိုးရန် str_replace function ကိုအသုံးပြုသည်။
json encoding သည် Peace API တွင်အထူးသဖြင့်ဘာသာစကားမျိုးစုံဒေတာများနှင့်ပတ်သက်လာလျှင်, MySQLI :: Get_charset Method ကို အသုံးပြု. UTF-8 သို့ character set character set ကိုစစ်ဆေးရန်နှင့် character set ကိုစစ်ဆေးရန်အတွက်ကျွန်ုပ်တို့သည်ရှေ့နောက်မညီဇာတ်ကောင် encoding ကြောင့်ဖြစ်ပေါ်လာသောကျောက်တုံးပြ problem နာကိုကျွန်ုပ်တို့ရှောင်ရှားနိုင်သည်။ တစ်ချိန်တည်းမှာပင် JSOS_UNSESesTed_encode option ကိုအသုံးပြုခြင်း JSON_COCTOTED ၏ JSONS_COCOCOCode Option ကိုအသုံးပြုခြင်း JSON_CORCED တွင်တရုတ်အက္ခရာများသည်ယူနီဖောင်းဇာတ်ကောင်များသို့ထွက်ပြေးတိမ်းရှောင်ခြင်းထက်မှန်ကန်စွာပြသရန်သေချာစေနိုင်သည်။ နောက်ဆုံးအနေဖြင့်ရိုးရှင်းသော string အစားထိုးစစ်ဆင်ရေးတစ်ခုဖြင့် URL ရှိဒိုမိန်းအမည်အပိုင်းသည်တိကျသောလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်ရန်သေချာစေနိုင်သည်။