PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် MySQLI extension သည်ကျယ်ပြန့်စွာအသုံးပြုသောဒေတာဘေ့စ် interface တစ်ခုဖြစ်သည်။ အချက်အလက်များ၏မှန်ကန်သောသိုလှောင်မှုနှင့်စုံစမ်းမှုသေချာစေရန်ဇာတ်ကောင်အစုံ၏ setting သည်အလွန်အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ အချို့သောကိစ္စရပ်များတွင် MySQLI :: Get_charet Set ကိုကြည့်ရှုရန် Get_charet Set ကိုကြည့်ရှုရန်ကျွန်ုပ်တို့ကိုကြည့်ရှုရန်အသုံးပြုသော character character set ကိုကြည့်ရှုရန်ကျွန်ုပ်တို့တွေ့နိုင်သည်။ ဒါဘာကြောင့်လဲ ဒီဆောင်းပါးမှာဒီဆွေးနွေးမယ်။
MySQLI :: Get_charset သည် MySQLI အတန်းထဲတွင် MySQLI Connection ၏ဇာတ်ကောင်အစုံကိုပြန်လည်ရောက်ရှိစေသည့်နည်းလမ်းဖြစ်သည်။ သင်စုံစမ်းမှုတစ်ခုလုပ်ဆောင်သောအခါဇာတ်ကောင်အစုံသည်အချက်အလက်များ၏လက်လှမ်းမီမှုနှင့်ပြသမှုကိုသက်ရောက်သည်။ ထို့ကြောင့်လက်ရှိချိတ်ဆက်ထားသောဇာတ်ကောင်အစုံကိုနားလည်ရန်အလွန်အရေးကြီးသည်။
PHP တွင် MySQLI :: Get_charet သည်အလွန်ရိုးရှင်းပါသည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$current_charset = $mysqli->get_charset();
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $current_charset->character_set_name;
?>
အထက်ပါကုဒ်ကိုကွပ်မျက်ခြင်းအားဖြင့် Get_charet သည် character_set_set_set attribute သည်လက်ရှိချိတ်ဆက်ထားသောဇာတ်ကောင်များ၏ဇာတ်ကောင်ကိုကိုယ်စားပြုသည့်အရာတစ်ခုတွင်ပါ 0 င်သောအရာဝတ်ထုတစ်ခုကိုပြန်လည်ပေးအပ်သည်။
အမှန်တကယ် ဖွံ့ဖြိုးတိုးတက်မှုတွင် MySQLI :: get_charet function ကို အသုံးပြု. သင်ရှုမြင်သောဇာတ်ကောင်သတ်မှတ်ထားသည့်အခြေအနေများနှင့်သင်ကြုံတွေ့ရနိုင်သည် ။ ၎င်းသည်များသောအားဖြင့်အကြောင်းပြချက်များစွာကြောင့်ဖြစ်သည်။
ဒေတာဘေ့စ် connection တစ်ခုတည်ဆောက်ရာတွင် MySQL သည်ပုံမှန်အားဖြင့် လက်တင် စာလုံးကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။ MySQLI_SESSESSESSESSSet_Charet ကို အသုံးပြုပါက UTF8 သို့သတ်မှတ်ထားသည့်တိုင် MySqli :: Get_charet မှ ပြန်လာသောဇာတ်ကောင်သည် database connection contraction set ကိုမှန်ကန်စွာမသတ်မှတ်ပါက default Lat_Tlate1 ဖြစ်လိမ့်မည်။
ဇာတ်ကောင်အစုံ၏မှန်ကန်သော setting ကိုသေချာစေရန်, ဇာတ်ကောင်အစုံမှန်ကန်ကြောင်းသေချာစေရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ဇာတ်ကောင် set ကို set
$mysqli->set_charset("utf8");
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$current_charset = $mysqli->get_charset();
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $current_charset->character_set_name;
?>
ဤနည်းအားဖြင့် MySQLI :: Get_charet မှ ပြန်လာသောဇာတ်ကောင်သည် Set_Charet Settings နှင့်ကိုက်ညီသင့်သည်။
နောက်ထပ်ဘုံအကြောင်းပြချက်တစ်ခုမှာဒေတာဘေ့စ်၏ပုံမှန်ဇာတ်ကောင်အစုသည်ဆက်သွယ်မှုဇာတ်ကောင်နှင့်မကိုက်ညီသောကြောင့်ဖြစ်သည်။ ဥပမာအားဖြင့်ဒေတာဘေ့စ်သည် လက်တင်ဘာသာကို ပုံမှန် အားဖြင့်သုံးနိုင်သည်။ ဤကိစ္စတွင်, သင်ကွဲပြားခြားနားသောဇာတ်ကောင်အစုံမြင်ကြပေမည်။
အောက်ပါ SQL ကြေငြာချက်မှတစ်ဆင့်ဒေတာဘေ့စ်၏ဇာတ်ကောင် setting များကိုစစ်ဆေးနိုင်သည်။
SHOW VARIABLES LIKE 'character_set%';
၎င်းသည်ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုနှင့်ပတ်သက်သောဇာတ်ကောင် set configuration ကိုပြန်လည်ရောက်ရှိစေသည်။ ဒေတာဘေ့စ်၏ဇာတ်ကောင်အစုံနှင့်ဆက်သွယ်မှုသည်တသမတ်တည်းဖြစ်ကြောင်းသင်သေချာစေနိုင်သည်။ ထို့ကြောင့်ဤမကိုမာမီပြ problem နာကိုရှောင်ရှားနိုင်သည်။
အချို့ဖြစ်ရပ်များတွင်အစီအစဉ်သည် MySQLI နှင့် PDO နှစ်ခုလုံးကိုဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်သုံးနိုင်သည်။ ဤစာကြည့်တိုက်များသည်ကွဲပြားသော default character set များကို သုံးနိုင်သည် ။ ဤပြ problem နာကိုရှောင်ရှားရန်စည်းလုံးညီညွတ်သောဒေတာဘေ့စ် connection method ကိုအသုံးပြုရန်နှင့်ဇာတ်ကောင်အစုံသည်တသမတ်တည်းဖြစ်ကြောင်းသေချာစေရန်အကြံပြုပါသည်။
MySQLI :: Get_charet ကို အသုံးပြုသောအခါ set ကိုကြည့်ရှုရန် Get_charet ကိုအသုံးပြုသောအခါပြသသည့်ဇာတ်ကောင်သတ်မှတ်ချက်သည်သင်သတ်မှတ်ထားသည့်ဇာတ်ကောင်များနှင့်ကွဲပြားခြားနားသည်။ ဤပြ problem နာကိုဖြေရှင်းရန်သော့ချက်သည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ပြီးနောက်ဇာတ်ကောင်အစုံမှန်ကန်စွာသတ်မှတ်ရန်နှင့်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ထားသောဇာတ်ကောင်ကိုသတ်မှတ်ရန်သေချာစေရန်ဖြစ်သည်။