Imprimir

Mi sitio no muestra correctamente los acentos o caracteres especiales

Cuando un servidor se comunica con un cliente (Internet Explorer, FireFox, Opera, etc) y le transmite datos, le indica previo a la transmisión el tipo de codificación de caracteres que va a utilizar.

En esencia, la codificación o Charset indica la forma en que los caracteres están representados a nivel de bit. Aún hoy lo más común es utilizar Charsets de 8 bit como ISO-8859-1 y UTF-8. En estos, se utiliza un byte de datos para cada letra a representar, dando un total de 256 letras posibles (1 byte = 8 bit = 256 posibles valores). Idiomas más complejos como el Chino precisan Charsets especiales ya que a veces 256 es una cantidad muy pequeña para representar a todas las letras posibles del alfabeto.

Según como haya generado su página web, es posible que la codificación por defecto que emitimos (ISO-8859-1) no sea la apropiada para su caso.

A tal efecto, puede modificar el Charset que emitimos creando un archivo de nombre “.htaccess” (empieza con un punto) con el contenido:

AddDefaultCharset UTF-8
o bien
AddDefaultCharset KOI8-R (ruso)
o bien
AddDefaultCharset gb2312 (chino tradicional)

Recuerde que también debe definir el Charset correcto en sus páginas de la siguiente manera:

<meta http-equiv="Content-Type" content="text/html; charset=CHARSET" />
Por ejemplo:

<meta http-equiv="Content-Type" content="text/html; charset=CHARSET" />

En el caso de tener su sitio con extensiones .php y con las modificaciones anteriores no se modifico solo tiene que agregar la siguiente linea:

<?php header('Content-Type: text/html; charset=utf-8'); ?>

O bien otra manera es poner la siguiente variable:

mb_http_output( "UTF-8" );
header( "Content-Type: text/html; charset=".mb_http_output());