डेटा की गुणवत्ता

ISO 3166-1 और 3166-2 कोड, और वे कहाँ भ्रम पैदा करते हैं

ISO 3166-1 हर मान्यता प्राप्त देश को दो अक्षरों का एक मानक कोड देता है, और "कौन सा देश" बताने के लिए लोकेशन सॉफ़्टवेयर के पास यही सबसे करीबी सार्वभौमिक, स्थिर पहचानकर्ता है। जर्मनी के लिए DE, जापान के लिए JP, ब्राज़ील के लिए BR। इसका व्यापक उपयोग ठीक इसीलिए होता है क्योंकि यह छोटा, स्थिर और मानक जान लेने के बाद स्पष्ट है, और यही कारण है कि हमारा पिन कोड लुकअप कोड के साथ किसी फ़्री-टेक्स्ट देश के नाम के बजाय इसे ही ज़रूरी मानता है।

ISO 3166-2 इसे एक स्तर नीचे ले जाता है और किसी देश के अंदर के उप-विभागों (राज्य, प्रांत, क्षेत्र, इस पर निर्भर करते हुए कि वह देश खुद को कैसे व्यवस्थित करता है) को कोड देता है। अमेरिका का कोई राज्य, कनाडा का कोई प्रांत और जापान का कोई प्रीफ़ेक्चर, सभी इसी तरह दर्शाए जाते हैं, हर एक ऐसे कोड के रूप में जो देश के प्रीफ़िक्स को उप-विभाग पहचानकर्ता के साथ जोड़ता है। यह हर उस जगह उपयोगी है जहाँ आपको "देश के अंदर कौन सा क्षेत्र" के लिए ऐसे स्थिर पहचानकर्ता की ज़रूरत हो जो फ़्री-टेक्स्ट नामों के मिलान पर निर्भर न हो, जिन्हें अलग-अलग डेटा स्रोतों में अलग तरह से लिखा, छोटा किया या अनुवादित किया जा सकता है।

उलझन आम तौर पर कुछ अनुमान लगाने योग्य जगहों पर सामने आती है। फ़्री-टेक्स्ट देश के नाम सबसे स्पष्ट बेमेल पैदा करते हैं, क्योंकि "United States", "USA", "U.S." और "America" किसी व्यक्ति के लिए एक ही चीज़ हैं, लेकिन हूबहू स्ट्रिंग मिलान की उम्मीद करने वाले कोड के लिए अपने आप नहीं, और ठीक यही अस्पष्टता दूर करने के लिए दो अक्षरों का कोड मौजूद है। उप-विभागों का ढाँचा भी देशों के बीच बहुत अलग होता है: कुछ देश साफ़-साफ़ कुछ राज्यों या प्रांतों में बँटे होते हैं, जबकि दूसरे कई प्रशासनिक स्तरों का उपयोग करते हैं, और "राज्य", "प्रांत" या "काउंटी" जैसे उपयोगकर्ता को दिखने वाले लेबल को ISO 3166-2 कोड पर मैप करना हर देश में एक-से-एक का काम नहीं है।

उलझन का एक और आम स्रोत किसी देश के टॉप-लेवल डोमेन को उसके ISO कोड के साथ मिला देना है। ये अक्सर मेल खाते हैं, जैसे .de और DE, लेकिन हमेशा नहीं, और डोमेन के प्रत्यय को देश कोड का भरोसेमंद विकल्प मान लेने से अपवादों के लिए आखिरकार गलत नतीजा मिलेगा।

व्यावहारिक सलाह यह है कि जहाँ भी आपका सिस्टम किसी दूसरे सिस्टम से बात करता है, हमारे सिस्टम सहित, वहाँ फ़्री-टेक्स्ट देश के नामों के बजाय ISO 3166-1 कोड संग्रहीत करें और भेजें, और जब भी आपको डिस्प्ले लेबल के बजाय स्थिर पहचानकर्ता चाहिए, तो उप-विभागों के लिए ISO 3166-2 कोड का उपयोग करें। इंसानों के पढ़ने लायक नाम उसी के लिए रखें जो आपके उपयोगकर्ता असल में स्क्रीन पर देखते हैं, और जो कुछ भी भरोसेमंद ढंग से मेल खाना चाहिए उसके लिए नीचे कोड रखें।

हमारा पिन कोड लुकअप पिन कोड के साथ ISO 3166-1 alpha-2 देश कोड लेता है, ठीक इसलिए कि अनुरोध स्पष्ट रहे, चाहे किसी देश का नाम अन्यथा किसी भी तरह लिखा जाए।