လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Concled Code ပြ problems နာများကိုရှောင်ရှားရန် Convert_Cy_String function ကိုအသုံးပြုရန်လက်တွေ့ကျသောအချက်များ

Concled Code ပြ problems နာများကိုရှောင်ရှားရန် Convert_Cy_String function ကိုအသုံးပြုရန်လက်တွေ့ကျသောအချက်များ

gitbox 2025-09-17

1 ။ ပြ problem နာအခြေအနေများနှင့်အတွေးအခေါ်များကိုခြုံငုံသုံးသပ်ချက်

A typical process is: the browser or client URL encodes the parameters and sends them (for example, ?name=%E4%F0%E0%E2%E5%F2 ), and the server receives a byte sequence escaped by the percent sign. မှန်ကန်သော UTF-8 စာသားကိုပြန်ယူရန်အဆင့်နှစ်ဆင့်သည်များသောအားဖြင့်လိုအပ်သည်။

  1. မူရင်း byte sequence ကိုရရှိရန် URL encoding ( rawurldecode / urdecode ) ကို decode လုပ်ပါ။ php.net +1

  2. ဤ byte sequence ကိုမှန်ကန်သော single-byte encoding (ဥပမာ Windows-1251, Koi8 R, Koi8 R, CP8666) သို့ပြောင်းပါ။ 8 ။ ComRillic encodings များအတွက် cyp_Cyr_string သည်ဆာဗာ PHP ဗားရှင်းမှထောက်ပံ့သောအခါ charge_cy_string သည်စာလုံးအလုံးစုံပြောင်းလဲခြင်းကိုပြည့်စုံနိုင်သည်။ php.net

မှတ်ချက် - Convert_Cyr_String ကို PHP 7.4 ကတည်းကကတည်းကကန့်ကွက်သည်။ PHP 8.0 တွင်ဖယ်ရှားခဲ့သည်။ MB_COCVert_encoding / Iconv (သို့) တတိယပါတီ UTF-8 စာကြည့်တိုက်များကိုအသစ်သောပတ်ဝန်းကျင်တွင်ပထမဆုံးအသုံးပြုသင့်သည်။ လိုက်ဖက်တဲ့နှင့်အခြားရွေးချယ်စရာဖြေရှင်းချက်များကိုအောက်တွင်ဖော်ပြထားသည်။ php.net


2 ။ Convert_Cyr_string မှထောက်ပံ့သော encoding code ကို (စုံလင်စွာ)

Convert_Cyr_string (string $ string, string $ မှဒေါ်လာ) ကို အသုံးပြု. Single-character computification code ကို အသုံးပြု. ဘုံဖော်ထုတ်ခြင်းသည်အောက်ပါအတိုင်းဖြစ်သည်။

  • k - koi8-r

  • W - Windows-1251

  • i - ISO-8859-5

  • A / D - X-CP8666 (DOS CP8666)

  • M - X-Mac-Cyrillic ။ php.net


3 ။ လက်တွေ့ကုဒ် template ကို ( convert_cyr_string အပေါ်အခြေခံသည်)

လက်တွေ့ကျကျ PHP function ကို - URL-encoded ဖြစ်နိုင်သော string ကိုလက်ခံရရှိပြီး Cyrillic encoded string (query string or path segment မှ) အမျိုးအစားများကိုအသုံးပြုသည်။ မှတ်စု : မသုံးမီသင်၏ PHP ဗားရှင်းသည် ပြောင်းလဲခြင်းကို သေချာအောင်လုပ်ပါ (PHP ≤ 7.3) အကယ်. သင်၏လည်ပတ်နေသောပတ် 0 န်းကျင်သည် PHP 8+ ဖြစ်ပါကအခြားနည်းလမ်းကိုကြည့်ပါ။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * သေတမ်းစာ URL တေးရေး(ဖြစ်နိုင်သည်တစ်ခုတည်း byte cyrillic များအတွက် encoded နှင့်ရာခိုင်နှုန်းဆိုင်းဘုတ်အားဖြင့်ထွက်ပြေးလွတ်မြောက်)မှစံ UTF-8 ကြိုး。
 *
 * $rawUrlPart: မူရင်းဖြစ်သော URL ခဲှခြား(ဥပမာအားဖြင့် $_GET['name'],ဒါမှမဟုတ်ကနေ PATH_INFO/လမ်းကြောင်း၌ရရှိသောအပိုင်းအစများ)
 * $sourceCode: အရင်းအမြစ်ကုဒ်ဖော်ထုတ်ခြင်း,အသုံးပြု convert_cyr_string တစ်ခုတည်းအက်ခရာကုဒ်('w','k','i','a','d','m')
 *
 * ပြန်လာ UTF-8 ကြိုး(若无法转换则ပြန်လာမူရင်းဖြစ်သော经过 rawurldecode 的ကြိုး)
 */</span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">normalize_cyrillic_url_param</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$rawUrlPart</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$sourceCode</span></span><span> = </span><span><span class="hljs-string">'w'</span></span><span>): </span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-comment">// 先把百分号转义还原အတွက်မူရင်းဖြစ်သော字节</span></span><span>
    </span><span><span class="hljs-variable">$decoded</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rawurldecode</span></span><span>(</span><span><span class="hljs-variable">$rawUrlPart</span></span><span>); </span><span><span class="hljs-comment">// bytes reserved,မစား + အာကာသသို့လှည့်(သက်ဆိုင်သည် path segment);နေရင် query နှင့်ရှိပါတယ် +,အသုံးပြုနိုင် urldecode()</span></span><span>
    
    </span><span><span class="hljs-comment">// စနစ်ရှိပါတယ်လျှင် convert_cyr_string(မှတ်သား:တည်နေ PHP 8+ လွှတ်ပေးသည်)</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'convert_cyr_string'</span></span><span>)) {
        </span><span><span class="hljs-comment">// ပထမ ဦး ဆုံးတစ်ခုတည်း byte encode(sourceCode)ကူးပြောင်း windows-1251('w'),</span></span><span>
        </span><span><span class="hljs-comment">// ထိုအခါ windows-1251 လှည့် UTF-8(အသုံးပြု mb_convert_encoding)</span></span><span>
        </span><span><span class="hljs-variable">$asWin1251</span></span><span> = </span><span><span class="hljs-title function_ invoke__">convert_cyr_string</span></span><span>(</span><span><span class="hljs-variable">$decoded</span></span><span>, </span><span><span class="hljs-variable">$sourceCode</span></span><span>, </span><span><span class="hljs-string">'w'</span></span><span>);
        </span><span><span class="hljs-comment">// သေတမ်းစာ windows-1251 二进制字节လှည့် UTF-8 ကြိုး</span></span><span>
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'mb_convert_encoding'</span></span><span>)) {
            </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$asWin1251</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'Windows-1251'</span></span><span>);
        } </span><span><span class="hljs-keyword">else</span></span><span> {
            </span><span><span class="hljs-comment">// backup တစ်ခုအနေဖြင့်,ကြိုးစား iconv(ကဲ့သို့果အသုံးပြုနိုင်)</span></span><span>
            </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'iconv'</span></span><span>)) {
                </span><span><span class="hljs-variable">$utf8</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">iconv</span></span><span>(</span><span><span class="hljs-string">'CP1251'</span></span><span>, </span><span><span class="hljs-string">'UTF-8//IGNORE'</span></span><span>, </span><span><span class="hljs-variable">$asWin1251</span></span><span>);
                </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$utf8</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> ? </span><span><span class="hljs-variable">$utf8</span></span><span> : </span><span><span class="hljs-variable">$asWin1251</span></span><span>;
            }
            </span><span><span class="hljs-comment">// 都不အသုံးပြုနိုင်时,ပြန်လာမူရင်းဖြစ်သော解码ကြိုး</span></span><span>
            </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$asWin1251</span></span><span>;
        }
    }

    </span><span><span class="hljs-comment">// မရရှိလျှင် convert_cyr_string(ကဲ့သို့ PHP 8+),直接ပြန်လာမူရင်းဖြစ်သော解码ကြိုး,让调用方အသုံးပြု替代方案</span></span><span>
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$decoded</span></span><span>;
}
</span></span>

ဥပမာ -

 <span><span><span class="hljs-comment">// ယူဆချက် URL အတွက်: /?name=%D0%9C%D0%B8%D1%80</span></span><span>
</span><span><span class="hljs-variable">$raw</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>] ?? </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-variable">$name</span></span><span> = </span><span><span class="hljs-title function_ invoke__">normalize_cyrillic_url_param</span></span><span>(</span><span><span class="hljs-variable">$raw</span></span><span>, </span><span><span class="hljs-string">'w'</span></span><span>); </span><span><span class="hljs-comment">// ယူဆချက်客户端以 Windows-1251 ပေးပို့</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>; </span><span><span class="hljs-comment">// output ကိုမှန်ကန်သည် UTF-8 နံမယ်</span></span><span>
</span></span>

သင်၏ parameter source ရင်းမြစ် RAWurDEDCode () urrdecode () urdececode () urdnecode ( + ကိုကိုယ်စားပြုသည့်အချိန်) (+ ကိုကိုယ်စားပြုသည့်အခါ) ( + ကိုကိုယ်စားပြုသည့်အခါ) (သို့) + ကိုကိုယ်စားပြုသည့်အခါ) ကိုရွေးချယ်သင့်သည် ကွဲပြားခြားနားမှုများအတွက်နှင့်နှစ်ခု၏အကြံပြုအကြံပြုထားတဲ့အကြံပြုချက်ကိုအကြံပြုချက်ကိုဖတ်ရှုပါ။ php.net guides.codepath.com


4 ။ PHP 8+ (သို့မဟုတ်ကန့်ကွက်သည့်လုပ်ဆောင်ချက်များကိုရှောင်ရှားလိုသည်) - အကြံပြုထားသောအခြားနည်းလမ်းများ

စီမံကိန်းအသစ်များသို့မဟုတ် PHP 8+ ပတ် 0 န်းကျင်အတွက် MB_Detect_encoding + mb_convert_encoding / iconv များကို အသုံးပြုရန်သို့မဟုတ်ဖောက်သည်များအား UTF-8 တရောစုံစွာ (အကောင်းဆုံးအလေ့အကျင့်များ) ကိုအသုံးပြုရန်အတွက်အသုံးပြုရန်အကြံပြုသည်။ ဥပမာ -

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">normalize_cyrillic_url_param_modern</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">string</span></span></span><span> </span><span><span class="hljs-variable">$rawUrlPart</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$tryEncodings</span></span><span> = [</span><span><span class="hljs-string">'Windows-1251'</span></span><span>,</span><span><span class="hljs-string">'KOI8-R'</span></span><span>,</span><span><span class="hljs-string">'CP866'</span></span><span>]) : </span><span><span class="hljs-title">string</span></span><span> {
    </span><span><span class="hljs-variable">$decoded</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rawurldecode</span></span><span>(</span><span><span class="hljs-variable">$rawUrlPart</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'mb_detect_encoding'</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'mb_convert_encoding'</span></span><span>)) {
        </span><span><span class="hljs-comment">// ကြိုးစား检测并转换到 UTF-8</span></span><span>
        </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$tryEncodings</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$enc</span></span><span>) {
            </span><span><span class="hljs-comment">// 检测字节串是否အတွက်此编码(စမ်းသပ်ခြင်းယုံကြည်စိတ်ချရသောမဖြစ်နိုင်ပါ,故采用ကြိုးစား转换后判断)</span></span><span>
            </span><span><span class="hljs-variable">$maybe</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$decoded</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-variable">$enc</span></span><span>);
            </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$maybe</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
                </span><span><span class="hljs-comment">// ရိုးရှင်းသောစိစစ်အတည်ပြု:ပြောင်းလဲခြင်းပြီးနောက်မူရင်း byte အရှည်နှင့်ဆင်တူပါသလား။(မဟုတ် 100% ယုံကြည်စိတ်ချရသော,ဒါပေမယ့်လက်တွေ့)</span></span><span>
                </span><span><span class="hljs-variable">$back</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$maybe</span></span><span>, </span><span><span class="hljs-variable">$enc</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
                </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$back</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> &amp;&amp; </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$back</span></span><span>) &gt;= </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$decoded</span></span><span>) - </span><span><span class="hljs-number">2</span></span><span>) {
                    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$maybe</span></span><span>;
                }
            }
        }
    }
    </span><span><span class="hljs-comment">// 最后退回မူရင်းဖြစ်သော解码后的ကြိုး(ဖြစ်ကောင်းပြီးသား UTF-8)</span></span><span>
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$decoded</span></span><span>;
}
</span></span>

ထို့အပြင်ရင့်ကျက်သောတတိယပါတီစာကြည့်တိုက်များ ( Voku / Portable-UTF8 စသည့် UT) ကဲ့သို့သောရှုပ်ထွေးသော coding / ပုံမှန်ပြ issues နာများကိုလည်းထိန်းသိမ်းရန်လည်းအသုံးပြုနိုင်သည်။ ရွှင်လန်းသော


5 ။ လက်တွေ့ကျအကြံပြုချက်များနှင့်အဓိကအချက်များစာရင်း

  1. ဦး စားပေး - 0 န်ဆောင်မှုခံယူသူအားလုံးကို UTF-8 တရောနှင်းအသုံးပြုခွင့်ပြုရန်ဖြစ်သည် (HTML <Meta Burset = "UTF-8"> HTTP header, api စာရွက်စာတမ်းများ) ။ ၎င်းသည်အခြေခံအားဖြင့်အမှိုက်များကို အခြေခံ. အခြေခံအားဖြင့်အကောင်းဆုံးအလေ့အကျင့်ဖြစ်သည်။

  2. decoding function selection sour : url encoding ကိုလက်ခံရရှိသည့်အခါ, query အပိုင်း ( ? a = b + ဂ ), urldecode () urldecode () + + + + + + + + + + + + + + အကယ်. ၎င်းသည်လမ်းကြောင်းအပိုင်းဖြစ်ပါက RawurdishDecode () ကို ပိုမိုနှစ်သက်သည်။ php.net +1

  3. ဆာဗာဘေးထွက်ပြောင်းလဲခြင်း - သမိုင်းကြောင်းဆိုင်ရာအချက်အလက်များသို့မဟုတ်တတိယပါတီစနစ်များကိုသာပြုလုပ်နိုင်သည့်အခါ Byte sequence ကို UTF-8 သို့ပြောင်းလဲခြင်း ( RAWurdishDecodecharge_cyr_centing / mb_convert_encoding / iconv ) ကိုအသုံးပြုသည်။ php.net +1

  4. ရှာဖွေတွေ့ရှိမှုနှင့်ရှောင်ခြင်း : အလိုအလျောက်ရှာဖွေတွေ့ရှိမှု encoding သည် 100% တိကျမှန်ကန်မှုမရှိပါ။ "ယုံကြည်ကိုးစားမှု" တရားစီရင်ခြင်းကိုအဓိကဇာတ်လမ်းများ (ဥပမာအားဖြင့်ရှေ့နောက်ညီညွတ်မှုကိုစစ်ဆေးခြင်းနှင့်ပြောင်းပြန်ပြောင်းခြင်း) နှင့်လက်ဖြင့် 0 င်ရောက်စွက်ဖက်ခြင်းအတွက်ပျက်ကွက်ခြင်းသို့မဟုတ်တိကျသောစည်းမျဉ်းစည်းကမ်းများအတွက်ပျက်ကွက်ခြင်းသို့မဟုတ်စည်းမျဉ်းစည်းကမ်းများအတွက်စံချိန်တင်ဆုံးဖြတ်ချက်ချခြင်းများကိုမှတ်တမ်းတင်ရန် "ယုံကြည်ကိုးစားမှု" ဆုံးဖြတ်ချက်များထည့်ရန်အကြံပြုသည်။

  5. Deprecation Note : Convert_Cyr_String ကို PHP 7.4 တွင်တန်ဖိုးရှိသည့်အရာအဖြစ်မှတ်သားထားပြီး PHP 8.0 တွင်ဖယ်ရှားခဲ့သည်။ သင်၏ကုဒ်သည်ခေတ်မီ PHP ပတ် 0 န်းကျင်တွင်အချိန်အတော်ကြာ run ရန်လိုအပ်ပါက ကျေးဇူးပြု. သဟဇာတဖြစ်သောအခြားရွေးချယ်စရာတစ်ခု ( MB_ConVert_encoding / iconv / third-party စာကြည့်တိုက်) ကိုအကောင်အထည်ဖော်ပါ။ php.net


6 ။ မြန်ဆန်နှိုင်းယှဉ်ဥပမာ (နှစ် ဦး စလုံးအဆုံးသတ်)

ဇာတ်လမ်း A: အကံျှအမှုသည်သည် parameters (query) ကို koi8-r ဖြင့်ပေးပို့သည်နှင့်ဆာဗာသည် UTF-8 ကိုမျှော်လင့်သည်။

 <span><span><span class="hljs-variable">$raw</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'q'</span></span><span>];                </span><span><span class="hljs-comment">// မူရင်းဖြစ်သော %xx ကြိုး</span></span><span>
</span><span><span class="hljs-variable">$bytes</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rawurldecode</span></span><span>(</span><span><span class="hljs-variable">$raw</span></span><span>);      </span><span><span class="hljs-comment">// binary bytes ရယူပါ</span></span><span>
</span><span><span class="hljs-comment">// 若အသုံးပြုနိုင် convert_cyr_string:</span></span><span>
</span><span><span class="hljs-variable">$win</span></span><span> = </span><span><span class="hljs-title function_ invoke__">convert_cyr_string</span></span><span>(</span><span><span class="hljs-variable">$bytes</span></span><span>, </span><span><span class="hljs-string">'k'</span></span><span>, </span><span><span class="hljs-string">'w'</span></span><span>); </span><span><span class="hljs-comment">// koi8-r -&gt; windows-1251</span></span><span>
</span><span><span class="hljs-variable">$utf8</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$win</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'Windows-1251'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$utf8</span></span><span>;
</span></span>

ဇာတ်လမ်း B: PHP 8+ ပတ်ဝန်းကျင်, ခေတ်သစ်နည်းများကိုအသုံးပြုပြီးအလိုအလျောက်ပြောင်းလဲခြင်းကိုကြိုးစားကြည့်ပါ။

 <span><span><span class="hljs-variable">$raw</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'q'</span></span><span>];
</span><span><span class="hljs-variable">$bytes</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rawurldecode</span></span><span>(</span><span><span class="hljs-variable">$raw</span></span><span>);
</span><span><span class="hljs-variable">$utf8</span></span><span> = </span><span><span class="hljs-title function_ invoke__">normalize_cyrillic_url_param_modern</span></span><span>(</span><span><span class="hljs-variable">$raw</span></span><span>, [</span><span><span class="hljs-string">'Windows-1251'</span></span><span>,</span><span><span class="hljs-string">'KOI8-R'</span></span><span>,</span><span><span class="hljs-string">'CP866'</span></span><span>]);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$utf8</span></span><span>;
</span></span>

7 ။ နိဂုံး (အဓိကအချက်များကိုပြန်လည်သုံးသပ်ခြင်း)

  • Convert_Cyr_String သည် cyrillic single-byte encodings များအကြားအပြန်အလှန်ဖလှယ်မှုကိုကိုင်တွယ်ရန်အဆင်ပြေသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီးထောက်ခံသည့်ကုဒ်များမှာ K, W, i, A, D, D တို့ဖြစ်သည်။ သို့သော်ဤလုပ်ဆောင်မှုကို PHP 7.4 တွင်တန်ဖိုးထားပြီး PHP 8.0 တွင်ဖယ်ရှားခဲ့သည်။ စီမံကိန်းအသစ်များသည် MB_ConVert_encoding / Iconv (သို့) third-party libraries ကိုသုံးရန်အကြံပြုသည်။ php.net

  • Barbled URL parameters ၏ပြ problem နာနှင့်ရင်ဆိုင်ရခြင်းမှာအဓိကအချက်မှာ - ပထမ ဦး ဆုံးရာခိုင်နှုန်းနိမိတ်လက်ခဏာ ( RAWurDECode / Urdececode ) ကိုမှန်ကန်စွာဆုံးဖြတ်ပါ။ ထို့နောက်အမှန်တကယ်အရင်းအမြစ် encoding အပေါ် အခြေခံ. Byte sequence ကိုပြောင်းလဲပါ။ လမ်းကြောင်းနှင့်စုံစမ်းမှုအတွက် decoding လုပ်ဆောင်ချက်များကိုရွေးချယ်ရာတွင်နှစ်ခုအကြားရှိနေရာများ ( + + ) ကိုကိုင်တွယ်ရာတွင်ကွဲပြားခြားနားမှုများကိုဂရုပြုပါ။ php.net +1

  • အလုံခြုံဆုံးရေရှည်မဟာဗျူဟာသည် UTF-8 ကို အသုံးပြု. အသုံးဝင်သောနည်းဖြင့်အသုံးပြုရန်ဖြစ်သည်။ သမိုင်းဝင်သို့မဟုတ်တတိယပါတီဒေတာလိုအပ်သည့်အခါအထက်ပါပြောင်းလဲခြင်းကွင်းဆက်ကိုမွေးစားခြင်းနှင့်ရှာဖွေတွေ့ရှိခြင်းနှင့်ရှောင်ခြင်းယန္တရားကိုအားဖြည့်ရန်သေချာသည်။ php.net gittubub

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

    URL