Respuesta técnica directa
La codificación de caracteres asigna símbolos de texto humano a números binarios que las computadoras pueden almacenar y procesar. Las codificaciones heredadas tempranas (ASCII, ISO-8859-1, Windows-1252) usaban 7 u 8 bits y provocaban corrupción generalizada del texto (mojibake) por páginas de códigos incompatibles. Hoy, UTF-8 es el estándar universal global y representa los 1.114.112 puntos de código Unicode con compatibilidad retroactiva con ASCII.
La evolución de las codificaciones de texto
Cómo los sistemas informáticos pasaron de las páginas de códigos propietarias de 8 bits a un único estándar global unificado.
1. ASCII (1963): el fundamento de 7 bits
2. El caos de 8 bits: ISO-8859 y las páginas de código de Windows
3. Unicode y UTF-8: la solución definitiva
Declarar UTF-8 en toda la pila web para eliminar el mojibake
<!-- 1. HTML5 document charset declaration (must be in top 1024 bytes) -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>UTF-8 Web Document</title>
</head>
<body>
<p>Hello world • Café • 東京 • 🚀</p>
</body>
</html>
Hello world • Café • 東京 • 🚀
Por qué UTF-8 ganó la web
Hoy, más del 98 % de todos los sitios web y los sistemas operativos modernos usan UTF-8.
Compatibilidad retroactiva con ASCII
Autosincronización y robustez
Sin problemas de endianness
Errores comunes frente a patrones de producción
Aprenda qué patrones fallan en producción y cuáles son las alternativas modernas conformes con los estándares.
Configurar MySQL para Unicode
Cotejamiento y juegos de caracteres de tablas de base de datos.CREATE TABLE users (
name VARCHAR(50)
) CHARACTER SET utf8; -- In MySQL, utf8 supports ONLY 3 bytes (BMP)!
CREATE TABLE users (
name VARCHAR(50)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Matriz de casos límite e invariantes
Una matriz de pruebas diversa entre caracteres que compara el comportamiento de los caracteres en ASCII, marcas combinantes, emojis, banderas y fragmentos sustitutos.
| Caso de prueba | Glifo de entrada | Unidades de código | Puntos de código | Grafemas | Categoría | Explicación técnica |
|---|---|---|---|---|---|---|
| Patrón de mojibake | café |
—
|
—
|
—
|
Standard |
Procedencia de estándares y fuentes
Todos los invariantes técnicos, las API y los comportamientos de esta guía se verifican contra las especificaciones primarias oficiales.
The Unicode Standard, Version 17.0
Cláusula: §2 General Architecture
RFC 3629: UTF-8, a transformation format of ISO 10646
Cláusula: §1 Introduction