COMO DEFINIR EL CHARSET EN UN SITIO WEB CON APACHE

Para definir charset en un sitio web basta con especificar la codificación de caracteres, "AddDefaultCharset utf-8", globalmente o por directorio en el archivo de configuración de Apache (por ejemplo, httpd.conf o un archivo en "/etc/apache2/conf-available/)" y después reiniciar Apache. O añadir "AddDefaultCharset utf-8" en el fichero ".htaccess" o en el fichero principal de configuración del sitio de apache. Asegurarse que el módulo mod_mime esté habilitado y que la directiva "AllowOverride All" esté configurada en el archivo de configuración de Apache para el directorio correspondiente. No es necesario reiniciar el servidor, ya que los cambios en .htaccess se aplican automáticamente.
También se puede configurar el charset para tipos de contenido específicos Si necesitas definir diferentes charsets para tipos de archivos específicos (por ejemplo, html o php), puedes usar la directiva AddCharset en el archivo de configuración de Apache o en .htaccess: "AddCharset UTF-8 .html .php". Para asegurarte de que el charset se está aplicando correctamente:
  • Abrir tu sitio en un navegador y verificar el encabezado HTTP Content-Type usando las herramientas de desarrollo (F12 → Network → Headers). Deberías ver algo como: "Content-Type: text/html; charset=UTF-8".
  • También puedes usar curl: "curl -I http://tusitio.com"
UTF-8 es la codificación recomendada para sitios web modernos, ya que soporta caracteres de casi todos los idiomas. Si hay un conflicto entre el charset del servidor y el de la página HTML, el navegador generalmente priorizará el charset especificado por el servidor.

Lista de Charsets Soportados

Lista de charsets ampliamente soportados en Apache (basados en estándares IANA y compatibilidad con iconv/APR). No es exhaustiva, ya que depende del sistema operativo, pero cubre los más usados:

Charset Name Descripción/Alias Uso Común
UTF-8 Unicode (8-bit variable) Internacional, recomendado
ISO-8859-1 Latin-1 (Western Europe) Por defecto en Apache
ISO-8859-2 Latin-2 (Central Europe) Europeos del Este
ISO-8859-3 Latin-3 (South Europe) Turco, etc.
ISO-8859-4 Latin-4 (Baltic) Báltico
ISO-8859-5 Cyrillic (ISO) Ruso, cirílico
ISO-8859-6 Arabic Árabe
ISO-8859-7 Greek Griego
ISO-8859-8 Hebrew Hebreo
ISO-8859-9 Latin-5 (Turkish) Turco
ISO-8859-10 Latin-6 (Nordic) Nórdico
ISO-8859-13 Latin-7 (Baltic) Báltico extendido
ISO-8859-15 Latin-9 (Western Europe with Euro) Latin-1 con Euro
UTF-16BE Unicode (16-bit, big-endian) Archivos binarios Unicode
UTF-16LE Unicode (16-bit, little-endian) Archivos binarios Unicode
US-ASCII ASCII básico (7-bit) Inglés básico
Windows-1250 CP1250 (Central Europe) Windows, Europeos del Este
Windows-1251 CP1251 (Cyrillic) Windows, cirílico
Windows-1252 CP1252 (Latin-1 Windows) Windows, Western Europe
Windows-1253 CP1253 (Greek) Windows, griego
Windows-1254 CP1254 (Turkish) Windows, turco
Windows-1255 CP1255 (Hebrew) Windows, hebreo
Windows-1256 CP1256 (Arabic) Windows, árabe
Windows-1257 CP1257 (Baltic) Windows, báltico
Windows-1258 CP1258 (Vietnamese) Windows, vietnamita
Shift_JIS Japanese (Microsoft) Japonés
EUC-JP Japanese (Extended UNIX) Japonés
Big5 Chinese Traditional (Big5) Chino tradicional
GB2312 Chinese Simplified (GB) Chino simplificado
GBK Chinese Simplified (extended) Chino simplificado
GB18030 Chinese (Unified) Chino unificado
TIS-620 Thai Tailandés
KOI8-R Cyrillic (Russian) Ruso alternativo
IBM850 Latin-1 (DOS) DOS, Western Europe