ThinkPpP5.1 ဖွံ့ဖြိုးရေးစီမံကိန်းကိုအသုံးပြုသောအခါ Json Strings သို့ arrays to JSO strings သို့ပြောင်းလဲခြင်းသည်ပုံမှန်အားဖြင့် "ဒေတာကိုပြောင်းလဲခြင်းမပြုနိုင်ပါ" ဟူသောအမှားအယွင်းတစ်ခုဖြစ်သော json unf-8 sequence ကိုအငြင်းပွားမှုတွင်ဖော်ပြထားသည်။ များသောအားဖြင့် Windows အောက်ရှိ GBK encoded စာလုံးများပါ 0 င်သည့် array မဟုတ်သော array များပါ 0 င်သည်။
ဤပြ problem နာအမျိုးအစားကိုဖြေရှင်းရန်အဓိကနည်းလမ်းနှစ်မျိုးရှိသည်။
PHP ရဲ့ IconV () function ကို function ကို encoding ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်နိုင်သည်။ UTF-8 -8-encoded Array Elements များအတွက်၎င်းတို့ကို iconv () ကို အသုံးပြု. UTF-8-encoded သို့ပြောင်းလဲနိုင်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ array = array (အမည် '= >> zhang san' => 18, 'address' => 'address' => 'xxx Road, XXX လမ်း, $ jobsr_str = json_entode ($ array, json_unesesesed_uncicode); // အမှားတစ်ခု fonteach ($ k => $ v) အဖြစ်အစီရင်ခံနိုင်ပါသည် $ array [$ k] = iconv ("GBK", "UTF-8", $ v); } $ jobsr_str = json_entode ($ array, json_unesesesed_uncicode); ပဲ့တင်သံ $ json_str;
ဤတွင်သင် JSONS_CECDEDE ခင်းကျင်းမှုကိုတိုက်ရိုက်သုံးရန်ကြိုးစားပါကပျက်ကွက်လိမ့်မည်။ ထို့နောက် traversing ဖြတ်သန်းခြင်းအားဖြင့် encoding ကို iconv ဖြင့်ပြောင်းလဲခြင်းဖြင့် JSON Encoding ကိုဖျော်ဖြေနိုင်ပြီး JSON string ကိုအောင်မြင်စွာထုတ်ဖော်ပြောဆိုနိုင်သည်။
ThinkPpP5.1 ensulated Json Auxily Auxily အတန်းများကို JSON strings သို့တိုက်ရိုက်ပြောင်းလဲစေပြီး encoding ပြ issues နာများကိုအလိုအလျောက်ကိုင်တွယ်နိုင်သည်။ Code pegager ်ဌာန်းချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -
Think Phother \ Helper \ JSON ဆင်ကိုသုံးပါ။ $ array = array (အမည် '= >> zhang san' => 18, 'address' => 'address' => 'xxx Road, XXX လမ်း, $ jobsstr = json :: encode ($ array); ပဲ့တင်သံ $ json_str;
ဤနည်းလမ်းသည်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်ကိုရိုးရှင်းလွယ်ကူစေရန် manual ပြောင်းလဲခြင်းနှင့် encoding မလိုအပ်ပါ။
JSONS သို့ Array သို့ပြောင်းလဲသည့်အခါ encoding ပြ problem နာသည်ဘုံဖြစ်သည်။ JSOR_enCode မှတင်ပြသောအမှားအယွင်းအများစုသည်အက်ခရာ encoding နှင့်ဆက်စပ်နေသည်။ ICONV ပြောင်းလဲခြင်း (သို့) ThinkPpP ၏ JSONS :: Encode Method သည်မှန်ကန်သောအချက်အလက်များ encoding နှင့် code ထိရောက်မှုကိုတိုးတက်စေရန်သေချာစေရန်အမှန်တကယ်အခြေအနေအရရွေးချယ်နိုင်သည်။ ဤနည်းလမ်းနှစ်ခုကိုနားလည်သဘောပေါက်ခြင်းနှင့်ကျွမ်းကျင်မှုသည်ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာပြ problems နာများကြောင့်ဖြစ်ပေါ်လာသော JSon ပြောင်းလဲခြင်းပျက်ကွက်မှုကိုရှောင်ရှားရန်ကူညီလိမ့်မည်။