В Интернете есть примеры с полями веб-выбора, в которых есть огромный список стран, и, вероятно, мне будет достаточно их использовать. Однако по закону Мерфи обязательно должна быть какая-то случайная страна, из которой кто-то родом и не входит в мой список (и, вероятно, кто-то еще столкнулся с этим и обновил локальный список их). Также, когда будут добавлены новые страны, я не узнаю об этом.
В принципе, я считаю, что это лучше и лучше, если есть централизованный список названий стран, которым я могу доверять. (также он может устанавливать / следовать стандартам для точных названий "United St ..." vs "USA" и т. д.)
Я бы предпочел решение, не относящееся к IIS, если это возможно.






Я не знаю, что такое IIS, но ISO 3166 определяет двухбуквенные коды для каждой страны; AFAIK, их список исчерпывающий. ISO 3166 сайт
Есть много списков стран, проверьте это статья в Википедии; там вы можете найти несколько списков, например:
И больше...
ЦРУ всемирная книга фактов имеет эту информацию, однако, как вы указываете в своем вопросе, есть некоторые спорные страны, которых иногда нет в их списке, т.е. Палестина.
Еще один источник названий стран - это Природные данные о Земле и ссылки на скачивание их культурных карт, которые представлены в виде файлов формы, готовых к нанесению на карту. Вот прямая ссылка на страницу загрузки картографических данных среднего качества.
Под «O» найдите «Оккупированные палестинские территории» или «A» для «управляемых территорий». Это еще один хороший пример сложности определения «страны».
OP запрашивает список имен страна. AFAIK не существует страна под названием "Палестина" (и никогда не было ни одного, согласно Британской энциклопедии)
Никакой список не является исчерпывающим.
"обязательно должна быть какая-то случайная страна, из которой кто-то не в моем списке"
Если бы это было все, это было бы просто.
Нет «мирового закона» или «мировой конституции», поэтому нет единого списка стран, республик, территорий, протекторатов, автономных областей, независимых правительств и спорных территорий.
Действительно, невозможно прийти к согласованному определению «страны», которое привело бы к окончательному списку кодов стран. Определение «страна» носит политический характер. Что, например, такое Тибет? Страна или регион Китая? Северная Ирландия? Святой Престол?
Выберите список и знайте, что он может быть предметом споров.
Вы можете, например, использовать базу данных кодов стран IANA: http://www.iana.org/domains/root/db/
Он ничуть не хуже других, и, поскольку он является частью IANA, он имеет определенную репутацию в качестве стандарта. Кроме того, он довольно доступен, так как веб-контент легко анализируется.
У меня есть недавний список, готовый разместить на моем сайте по адресу http://www.john.geek.nz/index.php/2009/01/sql-tips-list-of-countries/
Это как sql, так и с разделителями табуляции - исходный список был взят из Википедии
Вероятно, это слишком поздно, но вы можете вызвать веб-службу, которая теоретически позволит вам автоматически привязать данные к элементам управления: http://www.webservicex.net/country.asmx
Может дать вам другой подход, и это будет лучше, чем самостоятельно писать список.
Я рекомендую извлекать данные из Unicode CLDR (репозиторий общих локальных данных), которые включают профессионально поддерживаемый список стран и данные о названиях стран.
Берите данные оттуда один раз и время от времени обновляйте; данные CLDR поступают в согласованном формате, поэтому вам не придется суетиться, когда они станут частью вашего рабочего процесса.
Мы ведем список стран мира «ОБЩЕСТВЕННЫЙ ДОМЕН» во всех официальных форматах. Информация поступает от Агентства по техническому обслуживанию ISO 3166-1 для официальных английских и французских коротких имен, Совета США по географическим названиям (BGN) для английских коротких, длинных и местных коротких, длинных имен и Группы экспертов Организации Объединенных Наций по географическим названиям ( UNGEGN) формат (длинный) Английские, французские названия, краткие и официальные местные названия и испанские названия.
По-прежнему существует проблема с отображением некоторых арабских символов как латинизированных символов (увидите?). Но они ограничены местными названиями нескольких арабских стран.
Обратите внимание, что английский, испанский и французский языки охватывают 3 западных языка из 6 официальных языков ООН. Метаданные, информацию об источниках и загрузку можно найти по адресу:
http://www.opengeocode.org/download.php#countrynames
Команда Open Geocode OpenGeoCode.org
26 января 2014 г. Мы обновили список, включив в него названия стран на итальянском и немецком языках. Мы использовали список стран ООН по продовольствию и сельскому хозяйству на итальянском языке и список стран Федерального министерства иностранных дел Германии на немецком языке.
Меня действительно интересует полный список, доступный программно, и он выполняет свою работу (если вы, ребята (opengeocode.org), действительно не отставаете от любых изменений в списке). При использовании этот список, возможно, придется сократить для удобства использования или чего-то еще, но сам список меня впечатляет.
К сожалению, opengeocode.org сейчас не работает. Я знаю это, потому что это сломало нашу сборку; - /.
Ага! Это вниз.
Извините всех, но opengeocode.org был ужасно взломан примерно в ноябре 2016 года. Было принято решение прекратить его поддержку.
Я выложил несколько файлов на github: gist
Включая:
Перечисления HTML Select для значений Alpha-2, Alpha-3 и Numeric-3, а также фрагмент XSD этих значений в качестве перечислений для простого ограничения типа.
Ответ на вопрос это содержит полезную ссылку на проект Github, в котором есть списки в различных форматах и скрипт, который их создал, что упрощает получение обновленных версий.
Гораздо проще использовать для этой задачи веб-службу, чем хранить собственное хранилище данных. Таким образом, он обновляется, и вы можете делать такие вещи, как выпадающие списки ajax для страны. http://geodata.solutions - лучший вариант для использования, и у него есть много интересных вещей, таких как возможность предварительного выбора страны пользователя на основе его IP и упорядочение списков по их населению.
Ознакомьтесь с angrymonkeycloud.com/geography, чтобы получить полный список стран.
Это бесплатный клиент .Net, с которым так легко начать, и он использует API для получения значений, поэтому вы всегда должны получать последние обновления.