Źródło danych dla "oficjalnej" listy krajów/regionów

Ostatnio zaczęły pojawiać się problemy z nieaktualną listą krajów / regionów przedstawianą użytkownikom naszej aplikacji internetowej.

Mamy obecnie kilka tabel DB do przechowywania zlokalizowanych nazw krajów wraz z ich regionami (Stanami). Jednak w miarę rozwoju planety lista ta jest w ciągłej ewolucji i okazuje się być trudna do utrzymania, ponieważ niektóre regiony są usuwane, niektóre połączone - istniejące dane muszą być aktualizowane przez cały czas.

Jakie są, jeśli istnieją, najlepsze praktyki, jeśli chodzi o radzenie sobie z wieloma regionami lista krajów/regionów?

Jest miejsce czy standard? Znam ISO 3166, ale ich lista nie jest zbyt przyjazna dla DB ... poza tym nie jest w pełni zlokalizowana.

Idealne rozwiązanie pozwoli nam po prostu "zsynchronizować" się z nim? Najlepiej w wielu językach. Rozwiązanie byłoby najlepiej darmowe lub oparte na subskrypcji z historią tego, co się zmieniło, abyśmy mogli zaktualizować nasze dane (aka tblAddress)

Dzięki!

Author: jfrobishow , 2009-06-24

8 answers

Ten wygląda bardzo dobrze: wiele języków, opcja aktualizacji, niezależny od bazy danych format pliku do importu, informacje o krajach/regionach/miastach i kilka innych funkcji, z których możesz korzystać lub nie.

I jest dość przystępny, jeśli potrzebujesz go tylko na jeden serwer.

 2
Author: MicSim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-02 13:41:45

Geonames są dość dokładne pod tym względem i regularnie aktualizują się.

Http://www.geonames.org/export/

 13
Author: Jason,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 19:28:04

Nie ma czegoś takiego. Jest to kwestia polityczna, którą można rozwiązać tylko w kontekście własnego wniosku. Decyzja o użyciu ISO 3166 może być najłatwiejsza do obrony. Znam problemy z co najmniej:

  • Chiny / Tajwan
  • Izrael / Palestyna
  • Chiny / Tybet
  • Grecja / Macedonia
 7
Author: Stephan Eggermont,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-02 13:35:14

Listy ISO tutaj są przyjazne dla DB, choć zawierają tylko krótkie nazwy i kody.

 3
Author: Jacob Mattison,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-24 20:22:07

Możesz spróbować CLDR

Http://cldr.unicode.org/

Ten zestaw danych jest utrzymywany przez organizację Unicode. Jest regularnie aktualizowana, a dane są wersjonowane, dzięki czemu można łatwo zarządzać stanem listy.

 2
Author: Clint,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-16 04:50:37

Czekaj, chcesz tylko aktualną listę krajów? A może musisz wiedzieć, że kraj X podzielił się na Kraj Y i kraj Z? Bo nie znam żadnego zautomatyzowanego sposobu na zdobycie tego drugiego. Nawet aktualizacje baz danych ISO są dystrybuowane jako pliki PDF (jesteś na własną rękę do wdrożenia zmiany)

 1
Author: Eli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-01 20:50:24

UE przechowuje dane o lokalnych jednostkach administracyjnych (LAUs), które można pobrać jako hierarchiczne pliki XLS w kilku językach.

 1
Author: devio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-02 13:53:49

Hy! możesz znaleźć darmowy zrzut wszystkich krajów z ich kontynentami https://gist.github.com/kamermans/1441495 , jest bardzo łatwy w użyciu.wystarczy pobrać zrzut i przesłać do swojej bazy danych.

 1
Author: zohaib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-25 08:50:44