လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Get_charset ကို အသုံးပြု. Get_charet ကို အသုံးပြု. Control Control ကိုမည်သို့မှန်ကန်စွာ encode လုပ်ပြီး iconv နှင့်ပြောင်းလဲရန်နည်း။

MySQLI :: Get_charset ကို အသုံးပြု. Get_charet ကို အသုံးပြု. Control Control ကိုမည်သို့မှန်ကန်စွာ encode လုပ်ပြီး iconv နှင့်ပြောင်းလဲရန်နည်း။

M66 2025-06-23

အက်ခရာ encoding encoding ပြောင်းလဲခြင်းသည် web application များကိုတီထွင်သည့်အခါဘုံလုပ်ငန်းဖြစ်သည်။ များသောအားဖြင့်ဒေတာဘေ့စ်မှအချက်အလက်များကိုရယူရန်လိုအပ်ပါကကျွန်ုပ်တို့သည်မတူညီသောဘာသာစကားများဖြင့်စာလုံးများကိုမှန်ကန်စွာပြသနိုင်ရန်အတွက်အက္ခရာများ encoding ကိုမှန်ကန်စွာသေချာစွာစစ်ဆေးရမည်။ ဤဆောင်းပါးသည် MySQLI :: Get_charet ကို အသုံးပြုရမည်ကို PHP တွင်လက်ရှိဇာတ်ကောင်အစုကိုရယူရန်နှင့် Class encoding ပြောင်းလဲခြင်းအတွက် ICONV ကို ပေါင်းစပ်ရန် PHP တွင်အသုံးပြုသည်။

1 ။ လက်ရှိဇာတ်ကောင်အစုံရယူပါ

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();
?>

2 ။ အက်ခရာ encoding ပြောင်းလဲခြင်းအတွက် iconv ကိုသုံးပါ

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();
?>

3 ။ မကြာခဏမေးလေ့ရှိသောမေးခွန်းများကိုစာလုံးအလိုက်ပြောင်းလဲခြင်း

  1. Classtratch Set Mister String သည် encoding encoding encoding နှင့်ကိုက်ညီကြောင်းသေချာအောင်လုပ်ပါ။

  2. မထောက်ခံသောဇာတ်ကောင်များ - အချို့သောအက္ခရာများကိုပစ်မှတ် encoding တွင်မဖော်ပြနိုင်ပါ ဤအရာကိုရှောင်ရှားရန် // Transit သို့မဟုတ် // လျစ်လျူရှု မှုကိုသင်အသုံးပြုနိုင်သည်။

 $converted_string = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $original_string);
  1. အပြောင်းအလဲများစွာ - ဇာတ်ကောင်သတ်မှတ်ချက်သည်ကိုက်ညီမှုမရှိပါက target characters set ကိုရောက်ရှိသည်အထိ iconv အတွက် iconv ကို အသုံးပြုရန်လိုအပ်နိုင်သည်။

4 ။ လက်တွေ့ကျသော application အခြေအနေများ

ပြင်ပစနစ်များ ( M66.net ကဲ့သို့သော) ကိုသင်အပြန်အလှန်ဆက်သွယ်သောအခါသင်ကိုက်ညီသည့်ဇာတ်ကောင်အစုံများကြုံတွေ့ရနိုင်သည်။ M66.net မှအချက်အလက်များကိုသင်ရရှိသည်ဆိုပါစို့။ ၎င်းကိုလက်ရှိစနစ်၏ character set format နှင့်ပြောင်းလဲရန်လိုအပ်သည်ဆိုပါစို့။ အောက်ပါကုဒ်သည်မည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည်ဆိုပါစို့။