MySQL သည်ကျယ်ပြန့်စွာအသုံးပြုသော relational database ဖြစ်ပြီး PHP သည်လူကြိုက်များသော server-side scripting language ဖြစ်ပြီးဝက်ဘ်ဆိုက်များနှင့် applications များကိုတီထွင်ရန်အတူတကွအသုံးပြုလေ့ရှိသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်း PHP သည် MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်သောအခါကျောက်တုံးကျောက်တုံးပြ problem နာကိုမကြာခဏတွေ့ရလေ့ရှိသည်။ PHP ကို MySQL သို့ဆက်သွယ်သောအခါ developer များပြ problem နာကိုဖြေရှင်းရန်အတွက်ဤဆောင်းပါးသည်ထိရောက်သောဖြေရှင်းနည်းအချို့ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာဒေတာဘေ့စ်နှင့်စားပွဲများ၏ဇာတ်ကောင်အစုံမှန်ကန်စွာသတ်မှတ်ထားကြောင်းသေချာပါစေ။ ဒေတာဘေ့စ်တစ်ခုကိုဖန်တီးသောအခါ, သင်ပိုမိုဇာတ်ကောင်များများကိုထောကျပံ့ဖို့ Utf-8MB-8MB4 ဇာတ်ကောင်ကိုရွေးချယ်သင့်ပါတယ်။ ဇယားတစ်ခုဖန်တီးသောအခါ data ကိုမှန်ကန်စွာသိမ်းဆည်းထားစေရန်ဇယား၏ဇာတ်ကောင်နှင့် pourcereading စည်းမျဉ်းများကိုလည်း UTF-8MB4 သို့သတ်မှတ်သင့်သည်။ ဥပမာအားဖြင့်:
CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE my_table (id INT AUTO_INCREMENT, name VARCHAR(50) CHARACTER SET utf8mb4, PRIMARY KEY(id)) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
PHP သည် MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်သောအခါအချက်အလက်များကိုသိမ်းဆည်းထားပြီးမှန်ကန်စွာဖတ်ရန်သေချာစေရန် UTF8MB4 သို့သတ်မှတ်ရန်လိုအပ်သည်။ ဒေတာဘေ့စ်ကိုဆက်သွယ်သောအခါအောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
$mysqli = new mysqli("localhost", "username", "password", "my_database");
$mysqli->set_charset("utf8mb4");
SQL query statement ကိုမလုပ်ဆောင်မီ ETF8MB4 သို့သတ်မှတ်ရန်သေချာအောင်လုပ်ပါ။ ၎င်းသည်တရုတ်၏အခြေခံဒေတာ၏ပြ problem နာကိုရှောင်ရှားနိုင်သည်။ ဤတွင်ဇာတ်ကောင် set ကို setting များအတွက်ဥပမာကုဒ်ဖြစ်ပါတယ်:
$mysqli->query("SET NAMES 'utf8mb4'");
PHP တွင်တရုတ်ဒေတာများကိုလုပ်ဆောင်သောအခါ UTF-8 encoding ကိုသေချာစွာအသုံးပြုပါ။ ဒေတာများကိုထည့်သွင်းသောအခါ utf8_encode () function ကိုသုံးနိုင်သည် UTF-8 encoding သို့ပြောင်းရန် Utf8_entode () function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်:
$name = "Zhang San";
$name = utf8_encode($name); // ကူးပြောင်း UTF-8 ကုဒ်
$result = $mysqli->query("INSERT INTO my_table (name) VALUES ('$name')");
နောက်ဆုံးတွင်ဝက်ဘ်စာမျက်နှာပေါ်တွင်ဒေတာများကိုပြသသောအခါ, စာမျက်နှာ၏ဇာတ်ကောင် encoding သည် UTF-8 ကို UTF-8 ဖြစ်သည်ကိုသေချာစေရန်သေချာအောင်ပြုလုပ်ရန်လိုအပ်သည်။ အောက်ပါကုဒ်ကို HTML ၏ header အပိုင်းသို့ထည့်ပါ။
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
အထက်ပါနည်းလမ်းများမှတစ်ဆင့် developer များက PHP MySQL နှင့်ချိတ်ဆက်သောအခါတရုတ်ဒေတာပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်သည်။ မှန်ကန်သောဇာတ်ကောင်များကိုအောက်ပါချိန်ညှိချက်များနှင့် encoding သတ်မှတ်ချက်များသည်မှန်ကန်သောသိုလှောင်မှု, စာဖတ်ခြင်းနှင့်အချက်အလက်များကိုပြသခြင်းကိုသေချာစေသည်။ ဤအကြောင်းအရာများသည် developer များထံမှအထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။