မျက်မှောက်ခေတ် web application များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည်အထူးသဖြင့်လူမှုမီဒီယာပလက်ဖောင်းများသို့မဟုတ် chat application များ၌အထူးသဖြင့်ဆိုရှယ်မီဒီယာပလက်ဖောင်းများသို့မဟုတ် chat application များ၌အမျိုးမျိုးသောအသုံးပြုသူအချက်အလက်များကိုပြုလုပ်ရန်လိုအပ်သည်။ ဤ Emojis ကိုမှန်ကန်စွာသိမ်းဆည်းထားပြီးမှန်ကန်စွာပြသရန်သေချာစေရန်ဒေတာဘေ့စ်၏ဇာတ်ကောင်အစုကိုမှန်ကန်စွာသတ်မှတ်ထားကြောင်းသေချာအောင်လုပ်ရမည်။ PHP တွင် MySQLI :: Get_chariset လုပ်ဆောင်မှုသည်လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှု၏ set settings ကိုရယူရန်အတွက်အလွန်အရေးကြီးသည်။ ဤလုပ်ဆောင်ချက်နှင့်အတူကျွန်ုပ်တို့သည်လက်ရှိချိတ်ဆက်ထားသည့်ဇာတ်ကောင်အစုံကိုစစ်ဆေးပြီး Emoji ဇာတ်ကောင်များ (များသောအားဖြင့် UTF8MB4 ) ကိုထောက်ပံ့သည်။
ဤဆောင်းပါးတွင် MySQLI :: get_charet function ကိုအသုံးပြုသောအခါဒေတာဗီးဇာတ်ကောင်အစုံသည် Emoji Claits Sets ကိုအထောက်အပံ့ပေးရန်နှင့်ဤပြ problem နာကိုမည်သို့ကိုင်တွယ်ရမည်ကိုသရုပ်ဖော်ရန်ကုဒ်များကိုအသုံးပြုသည်ကိုသေချာစေရန်အဘယ်ကြောင့်ဤမျှအရေးကြီးရသနည်း။
ဇာတ်ကောင်အစုံများသည်စာသားအချက်အလက်များကိုသိမ်းဆည်းရန်ဒေတာဘေ့စ်များအသုံးပြုသော encoding နည်းလမ်းဖြစ်သည်။ ကွဲပြားခြားနားသောဇာတ်ကောင်အစုံကွဲပြားခြားနားသောဇာတ်ကောင်သတ်မှတ်ထားတဲ့ contents တွေကိုသိုလှောင်နိုင်ပါတယ်။ ဒေတာဘေ့စ်တစ်ခုတွင်စာလုံးအစုများကိုများသောအားဖြင့် collation နှင့် configure လုပ်ထားလေ့ရှိသည်။
ဘာသာစကားမျိုးစုံစာသားကိုထောက်ပံ့သော applications များအတွက်အထူးသဖြင့် Emojis နှင့်ကိုင်တွယ်ရန်လိုအပ်သည့်အရာများ၌ emojis နှင့်ကိုင်တွယ်ရန်လိုအပ်သူများသည်ယူနီကုဒ်ဇာတ်ကောင်အစုကိုထောက်ပံ့သောဇာတ်ကောင် set ကိုအသုံးပြုရန်အရေးကြီးသည်။ UTF8MB4 သည် Emojis အပါအ 0 င် ယူနီကုဒ် အက္ခရာများအားလုံးကိုအထောက်အကူပြုသည့်ဇာတ်ကောင်အစုံဖြစ်သည်။
Utf8MB4 သည် MySQL နှင့် Mariadb ရှိအက္ခရာများဖြစ်သည်။ UTF8 ဇာတ်ကောင်အစုံနှင့်မတူသည်မှာ UTF8MB4 သည် Emoji ကိုသိုလှောင်ရန်မရှိမဖြစ်လိုအပ်သော 4 byte စာလုံး 4 လုံးကိုကိုင်တွယ်နိုင်သည်။
သင်၏ Database Clurat ဇာတ်ကောင်ကို UTF8 သို့သတ်မှတ်ထားသည့်အတိုင်း MySQL သည် Emojis ကိုသိမ်းဆည်းရန်ကြိုးစားသောအခါ MySQL သည်အမှားအယွင်းရှိလိမ့်မည် ။ ဤပြ problem နာကိုရှောင်ရန် UTF8MB4 ကို အသုံးပြုရန်လိုအပ်သည်။
PHP တွင် MySQLI :: Get_ChariSet လုပ်ဆောင်မှုသည်သင့်အားလက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှု၏ဇာတ်ကောင်အစုံကိုစစ်ဆေးရန်ခွင့်ပြုသည်။ ဒီ function ကိုသုံးပြီးဇာတ်ကောင် 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;
// အဲဒါကိုထောက်ခံမရှို့ကိုဆုံးဖြတ်ပါutf8mb4ဇာတ်ကောင်အစုံ
if ($current_charset->charset !== 'utf8mb4') {
echo "အသိပေး:လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုကိုမထောက်ပံ့ပါ emoji ဇာတ်ကောင်အစုံ!";
// 你可以在这里执行数据库ဇာတ်ကောင်အစုံ的转换操作
} else {
echo "ဒေတာဘေ့စ cannection ကိုမှန်ကန်စွာထောက်ခံရန်ပြင်ဆင်ထားသည် emoji ဇာတ်ကောင်အစုံ。";
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>
အကယ်. လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုကို UTF8MB4 ဇာတ်ကောင်အဖြစ်သတ်မှတ်ခြင်းမရှိပါကဒေတာဘေ့စ်ကိုယ်တိုင်က UTF8MB4 ကို ထောက်ခံကြောင်းသေချာစေရန်လိုအပ်သည်။ ဒေတာဘေ့စ်များ, စားပွဲနှင့်ကော်လံများ၏ဇာတ်ကောင်အစုံပြောင်းလဲရန်အောက်ပါ SQL Queries များကိုသင်အသုံးပြုနိုင်သည်။
-- 更改数据库的ဇာတ်ကောင်အစုံ为 utf8mb4
ALTER DATABASE `your_database` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-- 更改表的ဇာတ်ကောင်အစုံ为 utf8mb4
ALTER TABLE `your_table` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 更改列的ဇာတ်ကောင်အစုံ为 utf8mb4
ALTER TABLE `your_table` MODIFY `your_column` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ဤ SQL Query များကိုမလုပ်ဆောင်မီသင်၏ MySQL ဗားရှင်းသည် UTF8MB4 ဇာတ်ကောင်သတ်မှတ်ချက်ကိုသေချာအောင်လုပ်ပါ။ ယေဘုယျအားဖြင့် UTF8MB4 ကို MySQL ဗားရှင်း 5.5.3 မှစ. အပြည့်အဝထောက်ခံသည်။
ဒေတာဘေ့စ်သည် Emoji နှင့်အခြား Multibyte ဇာတ်ကောင်များကိုမှန်ကန်သောအပြောင်းအလဲအတွက်အရေးကြီးကြောင်း Datf8MB4 ဇာတ်ကောင်သတ်မှတ်ရန်အရေးကြီးကြောင်းသေချာစေရန်သေချာသည်။ MySQLI :: Get_charset function ကိုအသုံးပြုခြင်းအားဖြင့်, သင်လက်ရှိဒေတာဘေ့စ် connection ၏ set sett settings ကိုအလွယ်တကူစစ်ဆေးနိုင်ပြီးလိုအပ်ပါကညှိနိုင်သည်။ မှန်ကန်စွာ configured မရရှိလျှင်အချက်အလက်များကိုထည့်သွင်းခြင်း, မေးမြန်းခြင်း, ပြသခြင်း, ထို့ကြောင့်အသုံးပြုသူ input ကိုပါ 0 င်သည့်လျှောက်လွှာများကိုတီထွင်သောအခါ Emoji အပါအ 0 င်ဇာတ်ကောင်အမျိုးမျိုးကိုထောက်ပံ့ရန်ဒေတာဘေ့စ်ဇာတ်ကောင်သတ်မှတ်ချက်ကို UTF8MB4 သတ်မှတ်ရန်သေချာအောင်လုပ်ပါ။