လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Connection function ကိုချိန်ညှိခြင်းအားဖြင့် encoding settings ကိုလျစ်လျူရှုခြင်းကြောင့်ဖြစ်သောတရုတ်ဆံပင်အိတ်စည်းမျဉ်းစည်းကမ်းများကိုမည်သို့ဖြေရှင်းရမည်နည်း။

Connection function ကိုချိန်ညှိခြင်းအားဖြင့် encoding settings ကိုလျစ်လျူရှုခြင်းကြောင့်ဖြစ်သောတရုတ်ဆံပင်အိတ်စည်းမျဉ်းစည်းကမ်းများကိုမည်သို့ဖြေရှင်းရမည်နည်း။

M66 2025-06-11

PHP ကို ​​အသုံးပြု. ဒေတာဘေ့စ်များကိုချိတ်ဆက်သောအခါ, သင်သည်တရုတ်ဆံပင်အိတ်ကုဒ်များနှင့်ပြ problems နာများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ကိစ္စရပ်အများစုတွင်ဤညစ်ညမ်းသော code မျိုးသည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်သောအခါအက်ခရာ encoding ကိုစနစ်တကျမသတ်မှတ်ခြင်းကြောင့်ဖြစ်သည်။ အထူးသဖြင့် Database connection တစ်ခုတည်ဆောက်ရန် Connection function ကိုခေါ်ဆိုသည့်အခါ encoding settings ကိုလျစ်လျူရှုထားပါက,

ဤဆောင်းပါးသည်ဒေတာဘေ့စ်ချိတ်ဆက်သောအခါမှန်ကန်သောဇာတ်ကောင် encoding ကိုသေချာစေရန် Connect ၏ကုဒ်နံပါတ်ကိုမည်သို့ညှိနှိုင်းရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။


ပြ problem နာ၏လက်ရှိအခြေအနေ

Developer အများအပြားသည်ဒေတာဘေ့စ်နှင့်တိုက်ရိုက်ချိတ်ဆက်ရန်အောက်ပါကဲ့သို့သောကုဒ်များကို အသုံးပြု. လေ့ကျင့်ထားလေ့ရှိသည် -

 $mysqli = new mysqli('db.m66.net', 'username', 'password', 'database');

အကယ်. ဤဆက်သွယ်မှုနည်းလမ်းသည်ဇာတ်ကောင်ကိုမသတ်မှတ်ပါက Database မှအသုံးပြုသော encoding သည်လက်တင် (1) သို့မဟုတ်အခြား encloading ကဲ့သို့သော utf-8 ကဲ့သို့သောလက်တင်မြို့သို့မဟုတ်အခြား encodings များကဲ့သို့သော carble codes များဖြစ်ပေါ်လာသည်။


အဖေြ

ကျောက်တုံးများပြ problem နာကိုဖြေရှင်းရန်အဓိကအချက်မှာ Database connection အောင်မြင်ပြီးနောက် Time_charet ဟုခေါ်ဆိုရန်သို့မဟုတ် ExCH8 အမည်များကို Execute ဟုခေါ်သည်။ ဤနည်းအားဖြင့်ဒေတာဘေ့စ်နှင့် PHP အကြားဒေတာထုတ်လွှင့်မှုများကို UTF-8 အဆိုအရတရုတ်စာလုံးများကိုမှားယွင်းစွာမစီရင်စေရန်အတွက် UTF-8 အဆိုအရဆောင်ရွက်လိမ့်မည်။


Connection function ကိုပြုပြင်ခြင်းဥပမာ

သင်၌ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုဖန်တီးပေးသော Encapsulated Connect function တစ်ခုရှိသည်ဆိုပါစို့။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 function connect() {
    $mysqli = new mysqli('m66.net', 'username', 'password', 'database');

    if ($mysqli->connect_errno) {
        die('ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . $mysqli->connect_error);
    }

    // အဓိကခြေလှမ်းများ:ဇာတ်ကောင် encoding ကိုသတ်မှတ်ပါUTF-8
    $mysqli->set_charset('utf8');

    return $mysqli;
}

ဒီမှာအချက်ကတော့

  • Database Domain Name ကို M66.net ဖြင့်အစားထိုးပါ။

  • ဆက်သွယ်မှုအောင်မြင်ပြီးနောက် encoding မှန်ကန်ကြောင်းသေချာစေရန် $ MySQLI-> set_charet ('UTF8') ကိုခေါ်ပါ။


ရေးသားဖို့နောက်နည်းလမ်း

အကယ်. သင်သည် MySQLI_Connect function ကိုအသုံးပြုနေပါက၎င်းကိုသင်ရေးနိုင်သည်။

 function connect() {
    $link = mysqli_connect('m66.net', 'username', 'password', 'database');

    if (!$link) {
        die('ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . mysqli_connect_error());
    }

    // အက်ခရာ encoding set
    mysqli_set_charset($link, 'utf8');

    return $link;
}

အလားတူပင် MySQLI_SESSESSSet_charet function ကိုခေါ်ဆိုပါ။


အပိုဆောင်းညွှန်ကြားချက်များ

  • အကယ်. သင်သည် PDO ဆက်သွယ်မှုကိုအသုံးပြုနေပါက DSN တွင် Charset = UTF8 မှအကောင်အထည်ဖော်နိုင်သည့်ဇာတ်ကောင်အစုံကိုလည်းသတ်မှတ်ရန်လိုအပ်သည်။

 $dsn = 'mysql:host=m66.net;dbname=database;charset=utf8';
$pdo = new PDO($dsn, 'username', 'password');
  • SQL command များကိုလည်းအကောင်အထည်ဖော်နိုင်သည်။

 $mysqli->query("SET NAMES 'utf8'");

သို့သော် set_charet နည်းလမ်းသည်ပိုမိုတိကျသောနှင့်ယုံကြည်စိတ်ချရသောကြောင့်ပိုမိုအကြံပြုသည်။