လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> UTF-8 ကိုသုံးချင်ပါသလား။ PHP တွင် MySQLI :: SET_CHARSet ကို အသုံးပြု. encoding ကိုမည်သို့မှန်ကန်စွာသတ်မှတ်ရမည်ကိုသင်ပေးပါ

UTF-8 ကိုသုံးချင်ပါသလား။ PHP တွင် MySQLI :: SET_CHARSet ကို အသုံးပြု. encoding ကိုမည်သို့မှန်ကန်စွာသတ်မှတ်ရမည်ကိုသင်ပေးပါ

gitbox 2025-09-18

UTF-8 encoding ဆိုတာဘာလဲ။

UTF-8 (Unicode Transformation Formated-8) သည် Unicode character set ရှိအက္ခရာများကိုကိုယ်စားပြုပြီးအင်္ဂလိပ်အက္ခရာများအတွက် 1 byte သိုလှောင်မှုကို အသုံးပြု. အခြားအက္ခရာများအတွက် 2 မှ 4 သိုလှောင်မှုကိုအသုံးပြုနိုင်သည်။ ၎င်း၏အားသာချက်မှာကမ္ဘာတဝှမ်းရှိနိုင်ငံအသီးသီးရှိဘာသာစကားများနှင့်သင်္ကေတများနှင့်သင်္ကေတများဖြင့်ဖော်ပြနိုင်ပြီး ASCII Encoding နှင့်သဟဇာတဖြစ်သောကြောင့် Web Develople နှင့် Database သိုလှောင်မှုတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။

PHP တွင် UTF-8 encoding သည်ဘာသာစကားမျိုးစုံသည်ဘာသာစကားမျိုးစုံသည်ဒေတာဘေ့စ်နှင့် browser တစ်ခုအကြားဒေတာများကိုလွှဲပြောင်းခြင်းများပြုလုပ်ရန်အသုံးပြုသည်။ အကယ်. encoding ကိုမှန်ကန်စွာမသတ်မှတ်ထားပါက condbled code ပြ problems နာများကိုဖြစ်ပေါ်စေသည်။

MySQLI :: set_charset ကို ဘာကြောင့်သုံးရတာလဲ။

PHP တွင် MySQL ဒေတာဘေ့စ်ကို အသုံးပြု. ဒေတာဘေ့စ်ကိုချိတ်ဆက်ရန် MySQLI extension ကိုအသုံးပြုပါကဒေတာဘေ့စ်ကိုချိတ်ဆက်ရန်နှင့်လည်ပတ်ရန်အတွက်ဒေတာဘေ့စ် connection သည် utf-8 encoding ကိုအသုံးပြုနေသည်ကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ မဟုတ်ရင်သင့်ရဲ့ဒေတာဘေ့စ်စားပွဲခုံများနှင့်လယ်ကွင်းများကို UTF-8 encoding ဖြင့်တပ်ဆင်ထားရင်တောင်,

MySQLI :: SET_CHARSet နည်းလမ်းသည်သင့်အားလက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုအတွက်အက်ခရာတစ်ခုသတ်မှတ်ရန်ခွင့်ပြုသည်။ PHP နှင့် MySQL ဒေတာဘေ့စ်ကိုဒေတာမေးမြန်းခြင်းနှင့်ထည့်သွင်းစဉ် PHP နှင့် MySQL ဒေတာဘေ့စ်ကိုမှန်ကန်စွာ encoded နှင့် decoded လုပ်နိုင်သည်ကိုသေချာစေသည်။

MySQLI :: SET_CHARSet ကိုအသုံးပြုပြီး UTF-8 encoding ကိုဘယ်လိုမှန်ကန်စွာသတ်မှတ်ရမလဲ။

  1. ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ။

    ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် MySQLI_Connect သို့မဟုတ် MySQLI () နည်းလမ်းသစ်ကို သုံးပါ။

  2. ဇာတ်ကောင် set ကို set:

    ဒေတာဘေ့စ်သို့အောင်အောင်မြင်မြင်ဆက်သွယ်ပြီးနောက်တွင် MySQLI :: SET_CHARSet Method ကိုသုံးပါ။

Code Page

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 1. ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$host</span></span><span> = </span><span><span class="hljs-string">'localhost'</span></span><span>;
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-string">'root'</span></span><span>;
</span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-variable">$dbname</span></span><span> = </span><span><span class="hljs-string">'your_database'</span></span><span>;

</span><span><span class="hljs-variable">$conn</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-variable">$host</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$dbname</span></span><span>);

</span><span><span class="hljs-comment">// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$conn</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ဆက်သွယ်မှုမအောင်မြင်ပါ: "</span></span><span> . </span><span><span class="hljs-variable">$conn</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// 2. ဇာတ်ကောင်ကိုသတ်မှတ်ပါ UTF-8</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$conn</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">set_charset</span></span><span>(</span><span><span class="hljs-string">"utf8"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှား: ဇာတ်ကောင် set ကိုသတ်မှတ်မရနိုင်ပါ UTF-8: "</span></span><span> . </span><span><span class="hljs-variable">$conn</span></span><span>-&gt;error;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိဇာတ်ကောင်အစုံ: "</span></span><span> . </span><span><span class="hljs-variable">$conn</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">character_set_name</span></span><span>();
}

</span><span><span class="hljs-comment">// 3. မေးမြန်းချက်နှင့်အခြားစစ်ဆင်ရေးလုပ်ဆောင်ပါ</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM your_table"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$conn</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span>-&gt;num_rows &gt; </span><span><span class="hljs-number">0</span></span><span>) {
    </span><span><span class="hljs-keyword">while</span></span><span>(</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အချက်များ: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'column_name'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
    }
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"没有အချက်များ"</span></span><span>;
}

</span><span><span class="hljs-comment">// 4. ဆက်သွယ်မှုကိုပိတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$conn</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

code parsing:

  1. ဒေတာဘေ့စ်ဆက်သွယ်မှု:
    MySQLI အသစ် () အသစ် သုံး. ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုဖန်တီးပြီးဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးသည်။ ဆက်သွယ်မှုပျက်သွားပါက, ပရိုဂရမ်ကို () မှတစ်ဆင့် () နှင့်အမှားအယွင်းတစ်ခုပြသထားသည်။

  2. ဇာတ်ကောင် set ကို set:
    ITF-8 သို့ဆက်သွယ်ထားသော connection character ကိုသတ်မှတ်ရန် $ conn_charet ("UTF8") ကိုသုံးပါ။ ဤအချိန်တွင် PHP နှင့် MySQL databases အကြားဒေတာလွှဲပြောင်းမှုအားလုံးသည် UTF-8 ကို အသုံးပြု. encoded နေကြသည်။ အကယ်. ချိန်ညှိမှုမအောင်မြင်ပါကအမှားမက်ဆေ့ခ်ျကို $ conn-> အမှား မှတဆင့် output လုပ်နိုင်သည်။

  3. စုံစမ်းမှုလုပ်ဆောင်ချက်:
    UTF-8 encoded throughts ကိုမှန်ကန်စွာပြသရန်အတွက်သင်၏အချက်အလက်များကို သင်၏ အချက်အလက်များကိုမေးမြန်းပါ။

  4. ဆက်သွယ်မှုကိုပိတ်ပါ
    နောက်ဆုံးအနေဖြင့် $ Conn-> Close () ကို အသုံးပြု. ဒေတာဘေ့စဆက်သွယ်မှုကိုပိတ်ပါ။

မှတ်သားရန်အရာ

  • ဒေတာဘေ့စ်စားပွဲများ၏ဇာတ်ကောင် set:
    PHP တွင်သတ်မှတ်ထားသည့်ဇာတ်ကောင်ကိုသတ်မှတ်ခြင်းအပြင်ဒေတာဘေ့စ်စားပွဲခုံများနှင့်လယ်ကွင်းများ၏ဇာတ်ကောင်များနှင့်ကွက်လပ်များကမူမအိပ်နိုင်အောင်သေချာအောင်လုပ်ရန်လိုအပ်သည်။ သရော်ပါသောဇာတ်ကောင်၏ဇာတ်ကောင်အစုကိုပြသသည့်ဇယားကွက်ကို ပြသနိုင်သည်သို့မဟုတ်အောက်ပါ SQL ကြေငြာချက်မှတဆင့်စားပွဲတစ်ခု၏ဇာတ်ကောင်အစုကိုပြင်ဆင်နိုင်သည်။

     <span><span><span class="hljs-keyword">ALTER</span></span><span> </span><span><span class="hljs-keyword">TABLE</span></span><span> your_table </span><span><span class="hljs-keyword">CONVERT</span></span><span> </span><span><span class="hljs-keyword">TO</span></span><span> </span><span><span class="hljs-type">CHARACTER</span></span><span> </span><span><span class="hljs-keyword">SET</span></span><span> utf8 </span><span><span class="hljs-keyword">COLLATE</span></span><span> utf8_general_ci;
    </span></span>
  • browser encoding:
    browser မှ browser မှ browser code ကိုရှောင်ရှားရန်မှန်ကန်သောဇာတ်ကောင် set ကို <head> tag တွင်သတ်မှတ်ထားကြောင်းသေချာပါစေ။ များသောအားဖြင့်အောက်ပါ tag settings ကိုသုံးနိုင်သည်။

     <span><span><span class="hljs-tag">&lt;<span class="hljs-name">meta</span></span></span><span> </span><span><span class="hljs-attr">charset</span></span><span>=</span><span><span class="hljs-string">"UTF-8"</span></span><span>&gt;
    </span></span>
  • MySQL ဆာဗာပုံမှန်ဇာတ်ကောင် set:
    MySQL ဆာဗာကို UTF-8 encoding ကိုအသုံးပြုလိုပါက MySQL configuration file my.cnf သို့မဟုတ် my.ini : MySQL configuration file ထဲတွင်သင်သတ်မှတ်နိုင်သည်။

     <span><span><span class="hljs-section">[mysqld]</span></span><span>
    </span><span><span class="hljs-attr">character-set-server</span></span><span> = utf8
    </span><span><span class="hljs-attr">collation-server</span></span><span> = utf8_general_ci
    </span></span>

အကျဉ်းချုပ်

MySQLI :: Set_charet နှင့် UTF-8 encoding ကို setting ပြုလုပ်ခြင်း MySQLI :: MySQL နှင့် MySQL database များအကြားရှိမျိုးစုံအချက်အလက်များကိုစနစ်တကျပြုလုပ်နိုင်ရန်အရေးကြီးသည့်ခြေလှမ်းတစ်ခုဖြစ်သည်။ ဇာတ်ကောင်အစုံကိုမှန်ကန်စွာပြင်ဆင်ခြင်းအားဖြင့် carbling code ပြ problems နာများကိုရှောင်ရှားနိုင်ရုံသာမကထုတ်လွှင့်စဉ်အချက်အလက်များကိုဆုံးရှုံးခြင်းသို့မဟုတ်မှားယွင်းစွာထုတ်ပယ်ခြင်းမပြုနိုင်ပါ။ ဒေတာဘေ့စ်စားပွဲနှင့်အကွက်များ၏ဇာတ်ကောင်များ၏ဇာတ်ကောင်များသည် UTF-8 ဖြစ်သည်ကိုသေချာစေရန်အတွက်တသမတ်တည်းသော encoding settings များကို application တစ်ခုလုံးတစ်လျှောက်လုံးထိန်းသိမ်းထားနိုင်အောင်စီမံကိန်းလိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်နိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    mysqli