<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤအပိုင်းသည်ဆောင်းပါး၏အကြောင်းအရာနှင့်မသက်ဆိုင်ပါ,ဘုံဖွဲ့စည်းမှုသို့မဟုတ်မှတ်ချက်များကိုနေရာချရန်အသုံးပြုနိုင်ပါသည်</span></span><span>
</span><span><span class="hljs-comment">// ဥပမာအားဖြင့်:Consinants ကိုသတ်မှတ်ပါ、configuration ဖိုင်များကိုဖွင့်ပါ။</span></span><span>
</span><span><span class="hljs-title function_ invoke__">define</span></span><span>(</span><span><span class="hljs-string">'APP_NAME'</span></span><span>, </span><span><span class="hljs-string">'ဘာသာမျိုးစုံပြုပြင်ထုတ်လုပ်ရေးကိရိယာများ'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>ဘယ်လိုရှောင်ရှားရမလဲ fgetss မျိုးစုံသောကြမ်းတမ်းသောပြ problems နာများဖြစ်ပေါ်လာသည်?လက်တွေ့ကျသောဖြေရှင်းနည်းများ</h1>
<p>တည်နေ PHP အလယ်ပိုင်း,<code></span><span><span class="hljs-title function_ invoke__">fgetss</span></span><span>()
အကြောင်းအရာကိုဖတ်ပြီးနောက် MB_ConVert_encoding () ကိုသုံးနိုင်သည်။
<?php
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'multilang.txt'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</span></span><span>) {
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgetss</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-number">4096</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-comment">// ဖိုင် encoding ကိုယူဆ GBK,လှည့် UTF-8</span></span><span>
</span><span><span class="hljs-variable">$utf8Line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'GBK'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$utf8Line</span></span><span> . </span><span><span class="hljs-string">"<br>"</span></span><span>;
}
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>);
}
?>
MB_COCVert_encoding ၏တတိယမြောက် pareter သည်ဖိုင်၏မူလ encoding ဖြစ်သည်။ ပထမနှင့်ဒုတိယအကြိမ်အချက်မှာပထမနှင့်ဒုတိယအကြိမ်ဖြစ်သည်။
ဥပမာ - output hTML စာမျက်နှာတွင်မှန်ကန်သော encoding encoding ကြေငြာချက်တစ်ခုရှိကြောင်းသေချာပါစေ။
<meta charset=</span><span><span class="hljs-string">"UTF-8"</span></span><span>>
ဤနည်းအားဖြင့်ဘရောင်ဇာသည် encoding encoding ကိုမှန်ကန်စွာခွဲခြားသတ်မှတ်ပြီးအမှိုက်များကုဒ် display ကိုရှောင်ရှားနိုင်သည်။
သင် mb_detect_encoding () ကို သုံးနိုင်သည်။
<?php
</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgetss</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-number">4096</span></span><span>);
</span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_detect_encoding</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, [</span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-string">'GBK'</span></span><span>, </span><span><span class="hljs-string">'BIG5'</span></span><span>], </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$encoding</span></span><span> !== </span><span><span class="hljs-string">'UTF-8'</span></span><span>) {
</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$line</span></span><span>;
?>
အကယ်. သင်သည် HTML tags များကိုစီစစ်ခြင်းနှင့်သာလျှင် fgets_tags () နှင့်ပေါင်းစပ်ခြင်းများကိုအသုံးပြုခြင်းကိုစဉ်းစားပါ။
<?php
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'multilang.txt'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</span></span><span>) {
</span><span><span class="hljs-keyword">while</span></span><span> ((</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fgets</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>)) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$line</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-variable">$line</span></span><span>);
</span><span><span class="hljs-comment">// encoding ပြောင်းလဲခြင်းဖြစ်စဉ်ကိုအထက်ကဲ့သို့တူညီသောဖြစ်ပါတယ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$line</span></span><span>;
}
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>);
}
?>
အထက်ပါနည်းလမ်းများမှတစ်ဆင့် developer များသည် fgetss () မှဖြစ်ရတဲ့စုံတွဲတစ်တွဲမှုပြ problem နာကိုထိထိရောက်ရောက်ရှောင်ရှားနိုင်ပါတယ်။