လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP URL parameters များ၌တရုတ်၏အမှိုက်များပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

PHP URL parameters များ၌တရုတ်၏အမှိုက်များပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

gitbox 2025-06-28

1 ။ ပြ problem နာအဓိပ္ပါယ်ဖွင့်ဆိုချက်

PHP ပရိုဂရမ်တွင် URL Parameters မှတရုတ်စာလုံးများကိုဖြတ်ကျော်ရန်မကြာခဏလိုအပ်သည်။ သို့သော်တရုတ်အက္ခရာများသည်အင်္ဂလိပ်အက္ခရာများထက်ပိုမိုသော bytes များများယူပြီးကတည်းက garbled ပြ problems နာများဖြတ်သန်းစဉ်အတွင်းပြ problems နာများပေါ်ပေါက်လာသည်။ ဤပြ problem နာကိုဖြေရှင်းရန်တရုတ်အက္ခရာများကိုအထူးသဖြင့် encoded ရမည်။

2 ။ ပြ problem နာဖြေရှင်းချက်

url encoding နှင့် decoding

URL encoding သည် url ကို URL ရှိအထူးအက္ခရာများကို URL သတ်မှတ်ချက်နှင့်ကိုက်ညီသောပုံစံသို့ပြောင်းနိုင်သည်။ PHP တွင် urlencode () function ကိုအသုံးပြုခြင်းအားဖြင့် urlenode () function ကိုအသုံးပြုခြင်းအားဖြင့်သင်အက်ခရာမဟုတ်သောအက္ခရာများကို% xx ပုံစံဖြင့်အစားထိုးရန်အတွက် string ကို encode လုပ်နိုင်သည်။ xx သည် ascii code ၏ hexadecimal ကိုယ်စားပြုမှုဖြစ်သည်။

ဥပမာအားဖြင့်, URL အတွက် string ကို "တရုတ်" ကိုသေချာဖတ်ပါ။ အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

 $encoded_str = urlencode('တရုတ်');
 echo $encoded_str; // %E4%B8%AD%E6%96%87

အထက်ဖော်ပြပါကုဒ်သည် "တရုတ်" သို့ "% e4% b8% B8% AD% SE6% 96% 87" ဖြစ်သည်။ အကယ်. သင် encoded string ကို decode လုပ်ရန်လိုအပ်ပါက Urdcecode () function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်:

 $decoded_str = urldecode('%E4%B8%AD%E6%96%87');
 echo $decoded_str; // တရုတ်

ထို့အပြင် http_build_Query () function သည် array တစ်ခုသို့ url parameter ကိုပြောင်းလဲနိုင်သည်။ ကီးတန်ဖိုးအတွဲများစွာရှိပါက၎င်းတို့ကို URL ကိုပေါင်းစပ်နိုင်သည်။

 $data = array('name' => 'တရုတ်', 'age' => 18);
$query_string = http_build_query($data);
 echo $query_string; // name=%E4%B8%AD%E6%96%87&age=18

PHP ၏ default encoding ကိုပြုပြင်မွမ်းမံပါ

အကယ်. သင်၏ PHP လျှောက်လွှာသည်တရုတ်စာလုံးများကိုမကြာခဏအသုံးပြုပါက PHP ၏ default encoding ကိုပြုပြင်ခြင်းဖြင့်အမှိုက်များကိုသင်ရှောင်ရှားနိုင်သည်။ ဥပမာ PHP ဖိုင်၏ header ရှိဇာတ်ကောင် encoding ကိုသတ်မှတ်ရန် header () function ကိုသုံးပါ။

 <span class="fun">header (&#39;အကြောင်းအရာအမျိုးအစား: စာသား / html; charset = utf-8&#39;);</span>

ဤချိန်ညှိချက်အပြီးတွင် output များကို UTF-8 တွင် encoded လိမ့်မည်။

php.ini ဖိုင်ရှိ encoding settings သည်မှန်ကန်ကြောင်းသေချာပါစေ

ထို့အပြင် Php.ini ဖိုင်ရှိအောက်ပါ parametersk သုံးခုကိုမှန်ကန်စွာ configure လုပ်ထားစေရန်သေချာစေရန်လည်းလိုအပ်သည်။

 default_charset = 'UTF-8'
 mbstring.internal_encoding = 'UTF-8'
 mbstring.http_input = 'UTF-8'

ဤရွေ့ကား parameters တွေကို default encoding, internal encoding နှင့် http input encoding အသီးသီးသတ်မှတ်ရန်အသုံးပြုကြသည်။ မှန်ကန်သော configuration ကိုထိထိရောက်ရောက်တရုတ်၏ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

3 ။ အကျဉ်းချုပ်

PHP တွင်ပရိုဂရမ်ပြုလုပ်သောအခါ URL Parameters မှတရုတ်စာလုံးများကိုကိုင်တွယ်ရန်အလွန်အရေးကြီးသည်။ URL encoding and decoding နှင့် decoding php default encoding နှင့် php.ini ဖိုင်ကိုမှန်ကန်စွာပြင်ဆင်ခြင်းနှင့်မှန်ကန်စွာ spp.ini ဖိုင်ကိုမှန်ကန်စွာပြင်ဆင်ခြင်းဖြင့်အမှိုက်များ code ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤနည်းလမ်းများကိုကျွမ်းကျင်စေခြင်းအားဖြင့် PHP applications များသည် URL parameters များကိုတရုတ်ပါ 0 င်သော URL parameters များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။