PHP တွင်ဘာသာစကားမျိုးစုံသောကြိုးများကိုင်တွယ်ခြင်းမှာအထူးသဖြင့်ဟေဗြဲလိုလက်ဝဲလက်ဝဲ (RTL) ကိုပံ့ပိုးရန်လိုအပ်သည့်အခါအထူးသဖြင့်လက်ဝဲဘက် (RTL) ကိုထောက်ပံ့ရန်လိုအပ်သည်။ PHP သည်ဟေဗြဲစာသားကို ယဗ်ဗတ်စာသားကိုယုတ္တိရှိသည့် function ကိုပြင်ဆင်ရန် RTL ကိုမထောက်ပံ့သောပတ် 0 န်းကျင်တွင်မှန်ကန်သော display အတွက်မှန်ကန်သော display ကို visual order သို့ visual order အဖြစ်သို့ပြောင်းလဲရန်ဖြစ်သည်။ သို့သော်အမှန်တကယ်အသုံးပြုမှုတွင်ဤလုပ်ဆောင်မှုသည်ကိုက်ညီမှုမရှိသောဇာတ်ကောင် encoding ကြောင့် output ကိုခြွင်းချက်များဖြစ်ပေါ်စေသည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏ရင်းမြစ်အကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာပြီးယုံကြည်စိတ်ချရသောဖြေရှင်းနည်းများကိုဆန်းစစ်ကြည့်ရှုပါလိမ့်မည်။
ဟေဗဒမ် ၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<code> string> string $ use use_text [, int $ max_chars_per_line = 0]) </ code>) </ code>)RTL ကိုမထောက်ပံ့သော Legacy Systems သို့မဟုတ်ဆိပ်ကမ်းများပေါ်တွင်စာသားများကိုပိုမိုကောင်းမွန်စွာပြသရန်အတွက်ယုတ္တိရှိသည့်အမိန့်ကို (လက်ဝဲမှလက်ဝဲမှလက်ဝဲမှလက်ဝဲမှလက်ဝဲမှလက်ဝဲမှလက်ဝဲမှ) ပြောင်းလဲရန်ကြိုးစားပါလိမ့်မည်။
ဥပမာအားဖြင့်:
<code> ပဲ့တင်သံ: "ì ??? é"); // output: ????????? ???? </ code>ဒီဥပမာမှာ encoding ကိုစနစ်တကျပြုပြင်မွမ်းမံနေပါကဟီဘရူးစာသား၏မျှော်လင့်ထားသည့်အမြင်အာရုံအမိန့်ထုတ်ယူမှုကိုရရှိစေသည်။
ဟေဗြဲဘာသာ သည် ISO-8859-8 ဇာတ်ကောင်အစုံ, ဟေဗြဲဘာသာတွင်အသုံးပြုသော single-byte encoding ပေါ်တွင်အခြေခံသည်။ ထို့ကြောင့် အကယ်. သင်သည် UTF-8 encoded string ကိုဖြတ်သန်းသွားပါက၎င်းဇာတ်ကောင်များကိုမှန်ကန်စွာခွဲခြား သတ်မှတ်. ပြောင်းလဲနိုင်လိမ့်မည်မဟုတ်ပါ, အမှိုက်သရိုက်များ,
ဘုံခြွင်းချက်ရလဒ်များပါဝင်သည်:
ဟေဗြဲအက်ခရာမဟုတ်သောအင်္ကျီမ်ားသည်မေးခွန်းအမှတ်အသားများနှင့်အစားထိုးသည်
output ကိုအမှာစာမမှန်ကန်ပါ
အခြားလုပ်ဆောင်မှုများနှင့်ရောနှောသောအခါပ conflicts ိပက်ခများပေါ်ပေါက်လာသည် (ဥပမာ MB_ * စီးရီး)
ထိုဟေဗဒဒ်သည် စနစ်တကျအလုပ်လုပ်ရန်သေချာစေရန်၎င်းကိုမခေါ်မီ utf-8 မှ ISO-8859-8 သို့ input text ည့်သည်စာသားကိုပြောင်းရန်အကြံပြုသည်။ သင် PHP ၏ built-in iconv () function ကိုသုံးနိုင်သည်။
<Code> $ Utf8_Text = "????? ???" "; $ iso_text = ISO-8859-8 "iconv (" iso-8859-8 ", $ Utf8_Text); $ ပြောင်းလဲ = Bebev ($ iso_text); ECHO ICOV ("ISO-8859-8", "UTF-8", $ ပြောင်းလဲခြင်း); </ code>ဤလုပ်ငန်းစဉ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
မူရင်း UTF-8 string ကို ISO-8859-8 သို့ပြောင်းပါ
ရုပ်မြင်အမိန့်ပြောင်းရန် ဟေဗဒပ် () ကို သုံးပါ
Outp-8 သို့ပြန်သွားပါသို့မဟုတ်နောက်ထပ်အပြောင်းအလဲနဲ့အတွက်
အသုံးပြုသူများမှဟေဗြဲစာသားထည့်သွင်းမှုကိုရရှိသော PHP script ကို အသုံးပြု. debred output အားဖြင့်လုံခြုံစွာပြုလုပ်သည်။
<code> & lt; php) လျှင် ($ _server ['_server'] === 'post'] === 'post') {$ input = $ _post ['ubltext'] ?? ''; $ iso_input = IcONV ("ISO-8859-8", $ input); $ ဟေဗဒမ် = Hebev ($ iso_input); $ Utf8_output = IcOTV ("ISO-8859-8", "Utf-8", $ attrev_eoutput), ပဲ့တင်သံ "& LT; Pre & GT;" ။ htmlspecialchars ($ Utf8_output, ent_quotes 'utf-8') ။ "& LT; / pre & gt;"; }? & GT; <Form method = "post" action = " https://gitbox.net/conet/convert.php ">
<Label> ဟေဗြဲစာသားကိုရိုက်ထည့်ပါ။ </ label> <br>
<Textarea name = "jeake_text" rows = "4" Cols = "50"> </ textarea> <br>
<input type = "Submit" တန်ဖိုး = "Convert">
</ form>
</ code>
အချို့သောအမွေအနှစ်စနစ်များတွင် Hebev () သည်အသုံးဝင်ဆဲဖြစ်သော်လည်း Modern application များတွင်ဟေဗြဲအကြောင်းအရာများကိုမှန်ကန်စွာပြသရန် RTL-enabled CSS နှင့် HTML layouts ကိုသုံးရန်အကြံပြုသည်။ ဥပမာအားဖြင့်:
<code> div dir = "RTL" & GT; ??????? ??? & lt; / div & gt; </ code>ထို့အပြင်ရှုပ်ထွေးသော Bidirectional text processing လုပ်ရန်လိုအပ်ပါက Javascript နှင့်အတူ 0 န်ဆောင်မှုခံယူသူကဲ့သို့အပြည်ပြည်ဆိုင်ရာစာကြည့်တိုက်များ (ဥပမာ ICUS) သို့မဟုတ် client rendering စွမ်းရည်များကိုအသုံးပြုပါ။
ဟေဗြဲစာသားကိုလုပ်ဆောင်ရန်အတွက်ဟေဗြဲ စာသားကို လုပ်ဆောင်ရန်အတွက်ဟေဗြဲစာသားကိုအသုံးပြုသည့်အခါအက်ခရာ encoding ပြ problems နာများသည်အသုံးအများဆုံးအတားအဆီးဖြစ်သည်။ UTF-8 နှင့် ISO-8859-8 အကြားကျိုးကြောင်းဆီလျော်ကူးပြောင်းခြင်းဖြင့်လုပ်ဆောင်ချက်များနှင့်လိုက်ဖက်ခြင်းနှင့်ထုတ်လုပ်မှု၏မှန်ကန်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ သို့သော်ရေရှည်တွင်ခေတ်ရေစီးကြောင်းနှင့်အပြည်ပြည်ဆိုင်ရာဖြေရှင်းနည်းများသည်ရေရှည်တည်တံ့ခိုင်မြဲသောဖွံ့ဖြိုးရေးလမ်းကြောင်းဖြစ်သည်။