¿Cómo cambiar la codificación predeterminada a UTF-8 para Apache?


Answers

Agregue esto a su .htaccess :

IndexOptions +Charset=UTF-8

O bien, si tiene derechos de administrador, puede configurarlo globalmente editando httpd.conf y agregando:

AddDefaultCharset UTF-8

(También puede usar AddDefaultCharset en .htaccess , pero no afectará los listados de directorios generados por Apache de esa manera).

Question

Estoy usando una empresa de alojamiento y enumerará los archivos en un directorio si el archivo index.html no está allí, usa iso-8859-1 como la codificación predeterminada.

Si el servidor es Apache, ¿hay alguna forma de configurar UTF-8 como el valor predeterminado?

Actualización: Además, descubrí que en realidad está usando un DOCTYPE de HTML 3.2 y luego no hay charset ... así que no está configurando ninguna codificación. Pero, ¿hay alguna manera de cambiarlo para usar UTF-8?




Para completar, en Apache2 en Ubuntu, encontrará el juego de caracteres predeterminado en charset.conf en conf-available.

Descomenta la línea

AddDefaultCharset UTF-8



No estoy seguro de si tiene acceso a la configuración de Apache (httpd.conf) pero debería poder establecer una directiva AddDefaultCharset. Ver:

http://httpd.apache.org/docs/2.0/mod/core.html

Busque el módulo mod_mime.c y asegúrese de que se establezca lo siguiente:

AddDefaultCharset utf-8 

o los documentos equivalentes de Apache 1.x ( http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset ).

Sin embargo, esto solo funciona cuando "el tipo de contenido de respuesta es text / plain o text / html".

También debe asegurarse de que sus páginas también tengan un conjunto de caracteres. Vea esto para más información:

http://www.w3.org/TR/REC-html40/charset.html




Solo una pista si tienes nombres de archivo largos en utf-8: de forma predeterminada se acortarán a 20 bytes, por lo que puede suceder que el último carácter se "corte a la mitad" y, por lo tanto, no se reconozca correctamente. Entonces puede querer configurar lo siguiente:

IndexOptions Charset=UTF-8 NameWidth=*

NameWidth configuración NameWidth que se NameWidth los nombres de sus archivos, lo que hará que se muestren y sean legibles.

Como ya han mencionado otros usuarios, esto debería agregarse en httpd.conf o apache2.conf (si tiene derechos de administrador) o en .htaccess (si no lo hace).




Coloque AddDefaultCharset UTF-8 en /etc/apache2/conf.d/charset . De hecho, ya está allí. Solo tiene que descomentarlo quitando el # anterior.