PHP တွင် XML_Parse () တွင် XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုသော function တစ်ခုဖြစ်ပြီး XML ဖိုင်များသို့မဟုတ်ကြိုးများပြုလုပ်ရန်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ သို့သော်မမှန်မကန် encoding format သည်ခွဲစိတ်ကုသမှုလုပ်ငန်းစဉ်ကိုပျက်ကွက်စေနိုင်သည်။ ဤဆောင်းပါးသည် XML_Parse () () ပြ problems နာများကိုရှောင်ရှားရန် XML ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်မမှန်ကန်သော encoding formats များ၏အကျိုးသက်ရောက်မှုကိုလေ့လာလိမ့်မည်။
XML ဖိုင်သည်ပုံမှန်အားဖြင့် XML ၏ကြေငြာချက်အပိုင်း (i.E. <? xml ... ?> ) တွင်ဖော်ပြထားသောအက်ခရာ encoding နှင့်ပတ်သက်သည့်သတင်းအချက်အလက်များကိုပါ 0 င်သည်။ ဥပမာအားဖြင့်:
<?xml version="1.0" encoding="UTF-8"?>
ဤကုဒ်နံပါတ်သည် UTF-8 ကို အသုံးပြု. XML ဖိုင်ကို encoded ကြောင်းဖော်ပြသည်။ xml ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းတွင် XML_Parse () သည် ဤကြေငြာချက်အပေါ် မူတည်. XML အကြောင်းအရာများကိုဖျက်သိမ်းရန်လိုအပ်သည်။ အကယ်. XML ဖိုင်၏ encoding format သည်အမှန်တကယ် encoding နှင့်မကိုက်ညီပါက PHP သည် XML data ကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်လိမ့်မည်မဟုတ်,
XML ဖိုင်မှကြေငြာထားသော encoding format သည် encoding format သည်အမှန်တကယ်အကြောင်းအရာများကို encoding format နှင့်ကိုက်ညီမှုမရှိပါက XML_Parse () သည် စာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်လိမ့်မည်မဟုတ်, ဥပမာအားဖြင့်:
XML ဖိုင်သည်၎င်းသည် UTF-8 encoding ဖြစ်သည်ဟုဆိုပါစို့, သို့သော်၎င်းသည် GB2312 encoding ကိုအသုံးပြုသည်ဆိုပါစို့။ ဤကိစ္စတွင် XML_Parse () သည် byte stream ကိုမှန်ကန်စွာဆုံးဖြတ်ရန်ပျက်ကွက်သည်။
မမှန်ကန်သော encoding formats များသည်အထူးအက္ခရာများကိုမှန်ကန်စွာမပြနိုင်ပါ။ ဥပမာအားဖြင့်, တရုတ်ဇာတ်ကောင်များ, အထူးသင်္ကေတများနှင့် ASCII မဟုတ်သောဇာတ်ကောင်အချို့သည်ဆံပင်ကျွတ်ခြင်းသို့မဟုတ်ပုံမှန်မခွဲနိုင်ပါ။
XML_Parse ၏မှားယွင်းမှုကိုရှောင်ရှားရန် () ၏ပျက်ကွက်မှုများကိုရှောင်ရှားရန် ()) encoding format ပြ problems နာများကြောင့်အောက်ပါအစီအမံများကိုပြုလုပ်နိုင်သည်။
XML ဖိုင်တွင် encoding encoding ကြေငြာချက်သည်အမှန်တကယ်အသုံးပြုသော encoding format နှင့်ကိုက်ညီကြောင်းအမြဲသေချာအောင်လုပ်ပါ။ XML ဖိုင်၏ header ကြေငြာစာတမ်းကိုစစ်ဆေးခြင်းဖြင့် encoding format ကိုအတည်ပြုနိုင်သည်။ ဥပမာအားဖြင့်ဖိုင်သည် UTF-8 encoding ဖြစ်ပါက XML ကြေငြာချက်သည် -
<?xml version="1.0" encoding="UTF-8"?>
အကယ်. XML ဒေတာသည်ပြင်ပ URL မှလာသည် (ဥပမာ File_get_contents (ဥပမာအားဖြင့်ဖိုင်ဖတ်ခြင်း () ) မှရရှိပါကဖိုင်သည်တိကျသော encoding format ကိုအသုံးပြုနေသည်ကိုသင်သိသည်။ အကြောင်းအရာကိုဖတ်သည့်အခါ encoding format ကိုသင်သတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်:
$xmlContent = file_get_contents('http://m66.net/sample.xml');
$xmlContent = mb_convert_encoding($xmlContent, 'UTF-8', 'GB2312');
ဤအချက်သည်အရင်းအမြစ်ဖိုင်၏ encoding format သည်မမှန်ကန်ပါကပင် PHP သည်နောက်ဆက်တွဲခွဲခြမ်းစိတ်ဖြာမှုဖြစ်စဉ်များမအောင်မြင်စေရန် PHP သည်မှန်ကန်သော UTF-8 encoding သို့ပြောင်းလဲနိုင်သည်။
XML_Parse () က parsing စဉ်အတွင်း parser ၏ encoding format ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ XML_Parser_Create () ကို အသုံးပြု. parser ကို ဖန်တီး. ၎င်းကိုဖန်တီးသည့်အခါ encoding format ကိုသတ်မှတ်နိုင်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$xml_parser = xml_parser_create('UTF-8');
xml_parse($xml_parser, $xmlContent);
xml_parser_free($xml_parser);
၎င်းသည် XML ဒေတာ၏မူလ encoding မည်သည့်မူလ encoding မည်သည့်အရာဖြစ်ပါစေ၎င်းကိုသတ်မှတ်ထားသော encoding format ကို အသုံးပြု. ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
PHP ကို အသုံးပြု. XML အချက်အလက်များကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် encoding format ကိုစနစ်တကျလုပ်ဆောင်နိုင်ကြောင်းပြသသည်ပြည့်စုံသောဥပမာတစ်ခုရှိသည်။
<?php
// ဖတ် XML အချက်များ
$xmlContent = file_get_contents('http://m66.net/sample.xml');
// မှန်ကန်သော encoding format ကိုအသုံးပြုရန်သေချာအောင်လုပ်ပါ
$xmlContent = mb_convert_encoding($xmlContent, 'UTF-8', 'GB2312');
// ဖန်တီး XML မိစ်ဆာ,အဖြစ် encoding format ကိုသတ်မှတ်ပါ UTF-8
$xml_parser = xml_parser_create('UTF-8');
// သုံးသပ်ကြည့်ရှုခြင်း XML ကေြနပ်သော
if (xml_parse($xml_parser, $xmlContent)) {
echo "XML အချက်များသုံးသပ်ကြည့်ရှုခြင်း成功!";
} else {
echo "XML အချက်များသုံးသပ်ကြည့်ရှုခြင်း失败!";
}
// 释放မိစ်ဆာ
xml_parser_free($xml_parser);
?>
မှားယွင်းသော encoding format သည် XML_Parse () ကို XML_Parse () ကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်ပျက်ကွက်လိမ့်မည်။ XML ဖိုင်ကြေငြာစာတမ်း၏ encoding format သည်အမှန်တကယ်ဒေတာများနှင့်ကိုက်ညီမှုရှိကြောင်းသေချာစေရန်နှင့်သင့်လျော်သော encoding ပြောင်းလဲခြင်းနှင့် setting ကိုချိန်ညှိခြင်းများပြုလုပ်ခြင်းသည်အမှားအယွင်းများသို့မဟုတ်အမှိုက်များပြ problems နာများကိုဖြေရှင်းနိုင်ခြင်းများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
Encoding format နှင့် parsing လုပ်ငန်းစဉ်၏အသေးစိတ်အချက်အလက်များကိုဂရုတစိုက်ကိုင်တွယ်ခြင်းဖြင့် PHP ပရိုဂရမ်မာများသည် XML အချက်အလက်များကိုထုတ်ဖော်ပြောဆိုသည့်အခါ encoding ပြ problems နာများကြောင့်ဖြစ်ရတဲ့အမှားအယွင်းများကိုရှောင်ရှားနိုင်သည်။