Come abilitare l'intestazione HTTP set di caratteri corretta in NGINX


39

Qual è il modo giusto per abilitare le intestazioni corrette dei set di caratteri in NGINX?

Sto analizzando il mio sito Web con Google Page Speed. Dice che dovrei specificare il set di caratteri dei file HTML nelle intestazioni HTTP. Qual è il modo giusto per farlo?

Ho già provato a impostare charset utf-8;la server {}dichiarazione del mio file di configurazione NGINX, ma non ha avuto alcun effetto.

Il mio server risponde con la seguente intestazione:

Connection: keep-alive
Date: Fri, 16 Sep 2011 12:43:24 GMT
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Server: nginx/0.7.67

Grazie.


Il collegamento non funziona più.
Pothi Kalimuthu,

Risposte:


38

L'aggiunta charset utf-8;è praticamente tutto ciò che devi fare. Sei sicuro di non aver dimenticato di ricaricare nginx dopo aver modificato il file di configurazione?

Inoltre al momento della scrittura, curl -I http://vorb.de/ restituisce il seguente risultato:

HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Fri, 16 Sep 2011 13:20:03 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1705
Last-Modified: Fri, 02 Sep 2011 15:13:17 GMT
Connection: keep-alive
Vary: Accept-Encoding
Accept-Ranges: bytes

Quindi adesso sembra tutto a posto.



5

Potrebbe essere necessario regolare anche l' charset_typesimpostazione per includere il tipo mime per il quale si desidera impostare l'impostazione del set di caratteri (ad esempio, testo / calendario non sono inclusi lì per impostazione predefinita).

Per quello che vale penso che text/*dovrebbe essere gestito di default - ma non puoi usarlo qui (come con Apache IIRC).

Vedi http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_types


2
    charset utf-8;
    source_charset utf-8;

È quello che ti serve. Non funzionerà per me se non ho entrambi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.