အက်ခရာ encoding encoding ပြောင်းလဲခြင်းသည် web application များကိုတီထွင်သည့်အခါဘုံလုပ်ငန်းဖြစ်သည်။ များသောအားဖြင့်ဒေတာဘေ့စ်မှအချက်အလက်များကိုရယူရန်လိုအပ်ပါကကျွန်ုပ်တို့သည်မတူညီသောဘာသာစကားများဖြင့်စာလုံးများကိုမှန်ကန်စွာပြသနိုင်ရန်အတွက်အက္ခရာများ encoding ကိုမှန်ကန်စွာသေချာစွာစစ်ဆေးရမည်။ ဤဆောင်းပါးသည် MySQLI :: Get_charet ကို အသုံးပြုရမည်ကို PHP တွင်လက်ရှိဇာတ်ကောင်အစုကိုရယူရန်နှင့် Class encoding ပြောင်းလဲခြင်းအတွက် ICONV ကို ပေါင်းစပ်ရန် PHP တွင်အသုံးပြုသည်။
MySQL ဒေတာဘေ့စ်ကိုအသုံးပြုသောအခါ MySQLI သည် လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှု၏အကျင့်ကိုကျင့်ရန် Get_charset Method ကိုထောက်ပံ့ပေးသည်။ လက်ရှိဆက်သွယ်မှုမှအသုံးပြုသောစာလုံးကိုနားလည်ရန်ဤနည်းလမ်းကိုသင်အသုံးပြုနိုင်သည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$current_charset = $mysqli->get_charset();
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $current_charset->charset;
// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$mysqli->close();
?>
Iconv သည် PHP တွင်မတူညီသောဇာတ်ကောင် encodings များအကြားပြောင်းလဲရန်အတွက်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ Database သည် UTF-8 encoding ကိုအသုံးပြုသည်ဟုယူဆပြီး UTF-8 encoding ကိုမထောက်ပံ့သော applications အချို့ကိုကိုင်တွယ်ရန် ISO-8859-1 encoding သို့ပြောင်းရန်လိုအပ်သည် ။
MySQLI :: Get_charet နှင့်ပေါင်းစပ်ပြီးဒေ တာ ဘေ့စ်၏ဇာတ်ကောင်အစုကိုမည်သို့ရယူရမည်ကိုပြသသည့်ဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$current_charset = $mysqli->get_charset()->charset;
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $current_charset . "<br>";
// ဒေတာဘေ့စရှိဒေတာဟုယူဆ UTF-8 ကုဒ်
$original_string = "ဒါကတရုတ်ဇာတ်ကောင်စမ်းသပ်မှုပဲ";
// 如果လက်ရှိဇာတ်ကောင်အစုံ是 UTF-8,ကူးပြောင်း ISO-8859-1
if ($current_charset === 'utf8') {
$converted_string = iconv('UTF-8', 'ISO-8859-1', $original_string);
echo "string ကိုပြောင်းလဲ (ISO-8859-1): " . $converted_string;
} else {
echo "လက်ရှိဇာတ်ကောင်အစုံ不是 UTF-8,ပြောင်းလဲနိုင်ခြင်းမရှိပါ。";
}
// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$mysqli->close();
?>
Classtratch Set Mister String သည် encoding encoding encoding နှင့်ကိုက်ညီကြောင်းသေချာအောင်လုပ်ပါ။
မထောက်ခံသောဇာတ်ကောင်များ - အချို့သောအက္ခရာများကိုပစ်မှတ် encoding တွင်မဖော်ပြနိုင်ပါ ။ ဤအရာကိုရှောင်ရှားရန် // Transit သို့မဟုတ် // လျစ်လျူရှု မှုကိုသင်အသုံးပြုနိုင်သည်။
$converted_string = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $original_string);
အပြောင်းအလဲများစွာ - ဇာတ်ကောင်သတ်မှတ်ချက်သည်ကိုက်ညီမှုမရှိပါက target characters set ကိုရောက်ရှိသည်အထိ iconv အတွက် iconv ကို အသုံးပြုရန်လိုအပ်နိုင်သည်။
ပြင်ပစနစ်များ ( M66.net ကဲ့သို့သော) ကိုသင်အပြန်အလှန်ဆက်သွယ်သောအခါသင်ကိုက်ညီသည့်ဇာတ်ကောင်အစုံများကြုံတွေ့ရနိုင်သည်။ M66.net မှအချက်အလက်များကိုသင်ရရှိသည်ဆိုပါစို့။ ၎င်းကိုလက်ရှိစနစ်၏ character set format နှင့်ပြောင်းလဲရန်လိုအပ်သည်ဆိုပါစို့။ အောက်ပါကုဒ်သည်မည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည်ဆိုပါစို့။