2011-11-01 42 views
27

Tôi đã thử nghiệm trang web của mình bằng ứng dụng Page Speed từ Google và một trong các đề xuất là chỉ định bộ ký tự trong tiêu đề phản hồi Loại Nội dung HTTP tuyên bố rằng nó tốt hơn chỉ trong thẻ meta.Cách chỉ định bộ ký tự trong tiêu đề phản hồi Kiểu nội dung HTTP?

Dưới đây là những gì tôi hiểu tôi cần viết: Loại nội dung: văn bản/html; charset = UTF-8

.. nhưng chính xác thì tôi nên đặt cái này ở đâu? Tôi đang ở trên một máy chủ được chia sẻ.

Cảm ơn bạn!

Trả lời

39

Apache: thêm vào .htaccess tập tin của bạn trong thư mục gốc:

AddDefaultCharset UTF-8 

Nó sẽ thay đổi tiêu đề từ này:

Content-Type text/html

... này:

Nội dung-Kiểu văn bản/html; charset = UTF-8


nginx [doc] [serverfault Q]

server { 
    # other server config... 
    charset utf-8; 
} 

thêm charset utf-8;-máy chủ khối (và tải lại cấu hình nginx)

+0

Tôi biết nó chỉ đơn giản là hoạt động nhưng Tiêu đề HTTP của tôi vẫn chỉ phản hồi với văn bản-Kiểu nội dung/html. Tôi không muốn sử dụng thẻ trong tài liệu của mình để khai báo mã hóa ký tự. Tôi sử dụng Apache 2.4. – Tomkay

+1

@Tomkay đảm bảo quy trình máy chủ .htaccess chỉ thị và tệp nằm trong thư mục thích hợp – NXT

1

Với Apache, bạn sử dụng http://httpd.apache.org/docs/2.2/mod/core.html#adddefaultcharset

Với IIS bạn chỉnh sửa kiểu MIME cho filetype trong danh sách các tập tin.

Với hầu hết các công nghệ phía máy chủ như PHP hoặc ASP.NET, có một phương pháp hoặc thuộc tính được cung cấp bởi công nghệ đó. Ví dụ trong ASP.NET bạn có thể đặt nó trong config, page, hoặc page code-behind.

2

Khi tôi thêm này , tiêu đề phản hồi của tôi trông giống như sau:

HTTP/1.1 200 OK
Content-Type: text/html, text/html; charset = 'UTF-8'
Vary: Accept-Encoding
Server: Microsoft-IIS/7,5

+0

UTF-8 có vẻ là mặc định cho IIS (http://technet.microsoft.com/en-us/library/cc771836% 28v = ws.10% 29.aspx) – Luuk

Các vấn đề liên quan