Los códigos ISO de país son la forma habitual de identificar un territorio en una base de datos, una interfaz de programación o un fichero de intercambio, y aun así se usan mal con mucha frecuencia. El motivo no es la falta de documentación, sino que el mismo estándar ofrece tres escrituras distintas para el mismo país y cada una resuelve un problema diferente. Elegir la equivocada no rompe nada de inmediato; produce incoherencias que aparecen meses después. Esta guía explica qué es cada forma, cómo se relacionan entre sí y qué conviene decidir antes de guardar el primer registro.
Tres formas para el mismo país
La norma internacional de códigos de país define tres representaciones para cada territorio. La primera son dos letras, la forma más extendida en aplicaciones y comercio electrónico por su brevedad. La segunda son tres letras, algo más legible y también frecuente en sistemas financieros y de transporte. La tercera es un número de tres cifras, pensado para contextos donde el alfabeto no es fiable, porque evita problemas de lectura y de escritura en lenguas distintas.
Las tres formas designan exactamente el mismo país y están pensadas para convivir. El problema aparece cuando un sistema mezcla las tres sin declarar cuál está usando, o cuando dos sistemas se comunican y cada uno da por supuesta su propia convención.
| Forma | Ventaja principal | Riesgo típico |
|---|---|---|
| Dos letras | Breve y muy extendida | Se confunde con abreviaturas inventadas |
| Tres letras | Más legible y menos ambigua a la vista | Se mezcla con la de dos letras al comparar |
| Tres cifras | Independiente del alfabeto | Se trata como número y pierde ceros iniciales |
¿Cuál conviene guardar en una base de datos?
Depende de para qué se va a usar el dato, pero la decisión se puede simplificar con una regla: elige una forma, guárdala en un campo dedicado y documenta cuál es. A partir de ahí, las demás son formatos de presentación que se generan al mostrar y no se almacenan.
La forma de dos letras es la opción más común para datos de negocio, porque es la que aparece en la mayoría de las interfaces y en los formularios internacionales. La de tres letras resulta útil cuando el dato se va a leer mucho a mano o cuando se intercambia con sistemas de transporte o financieros que la prefieren. La numérica tiene sentido cuando el consumidor del dato puede tener problemas con caracteres latinos, y su ventaja declarada es que resiste mejor los errores de escritura.
Lo que no funciona es guardar códigos de formas distintas en el mismo campo según de dónde vengan. Un campo que a veces contiene dos letras y a veces tres cifras no se puede validar, ni ordenar, ni comparar.
El coste de mezclar formas
Una comparación entre dos listas es el escenario donde el problema se vuelve evidente. Si una lista usa la forma de dos letras y la otra la de tres, ninguna coincidencia aparece y el resultado se interpreta como una discrepancia real de datos. Horas de revisión manual para descubrir que el país siempre fue el mismo.
Hay un caso todavía más incómodo: la forma numérica guardada en un campo de texto o de número sin criterio. Si el sistema la trató como número, las cifras iniciales desaparecen y el código deja de identificar nada. Es el mismo error que afecta a los códigos postales, y llega por la misma puerta: suponer que un identificador con aspecto numérico es un número.
¿Qué son los códigos de subdivisión?
Por debajo del país, la norma correspondiente define códigos para las divisiones administrativas internas: estados, provincias, regiones, prefecturas, condados y figuras equivalentes. Cada uno se compone del código del país, un guion y un código local que el propio país ha declarado.
Ese segundo elemento es la clave. El código local lo fija cada país según su propia organización territorial, y puede ser numérico o alfanumérico según el caso. Por eso no se puede deducir ni inventar: hay que consultarlo en la lista oficial.
Y aquí aparece la confusión más costosa. Las subdivisiones que usa la norma no son las mismas que emplean otras administraciones para sus propios fines. Un organismo estadístico puede agrupar territorios de una manera, la administración postal de otra y la autoridad fiscal de una tercera. Son clasificaciones legítimas, pero no son intercambiables con la norma internacional ni entre sí. La confusión se nota especialmente en los códigos postales, cuya estructura interna responde a criterios de reparto y no a la división administrativa, como se ve en los formatos de código postal por país.
Cómo elegir y mantener el código correcto
- Una sola forma en el sistema. Decide cuál usas para almacenar y no admitas otra en ese campo.
- Tabla cerrada en la interfaz. El país se elige de una lista, no se escribe a mano. Cualquier campo libre acabará con valores que no existen.
- Documenta la convención. Un comentario en el esquema que diga qué forma se guarda ahorra discusiones futuras.
- Valida antes de guardar. Comprobar que el código está en la lista es barato y evita registros imposibles.
- Deja sitio para cambios. La lista de territorios cambia con el tiempo: aparecen códigos nuevos y otros se retiran.
¿Qué se hace con los códigos retirados o desconocidos?
La lista internacional no es estática. Con el paso de los años algunos territorios cambian de nombre, se fusionan o dejan de existir como entidad separada, y su código se retira. Un sistema que rechaza de plano cualquier código retirado romperá informes históricos que contienen datos legítimos del pasado.
La solución razonable es doble. Para datos nuevos, exigir que el código esté vigente. Para datos antiguos, aceptar el código retirado y conservarlo tal cual, porque describe correctamente lo que había en ese momento. Y cuando llega un código que no está en ninguna lista, conviene registrarlo aparte en lugar de descartar el registro completo: puede ser un error tipográfico o puede ser una novedad que la lista todavía no recoge.
Notas para quien programa
- Un campo para el código, otro para el nombre. El nombre del país se muestra traducido; el código es estable. Si guardas solo el nombre, cualquier cambio de traducción o de ortografía rompe la relación.
- Texto, no número. La forma de tres cifras es un identificador, no una cantidad. En un campo numérico se pierden los ceros iniciales.
- No derives el código del nombre. Traducir un nombre y convertirlo a código es una fuente constante de errores; guarda siempre el código como dato primario.
- Trata las subdivisiones como un dato externo. No las escribas en el código de la aplicación: son listas que se actualizan y conviene poder reemplazarlas sin tocar la lógica.
- Cuida la forma en las comparaciones. Si comparas datos de dos fuentes, normaliza la forma de ambas antes de concluir que hay diferencias.
Siguientes pasos
Abre tu base de datos y comprueba en qué forma están guardados los códigos de país; si hay más de una, ya sabes qué corregir. Si estás preparando datos de prueba con direcciones de distintos territorios, el generador de direcciones falsas devuelve todos los campos de la misma región y solo para pruebas, sin corresponder a ninguna vivienda ni destinatario. Para entender cómo se combinan estos códigos con el resto de la dirección, la guía sobre el formato de dirección internacional continúa por donde termina esta.