2014-12-07 13 views
42

Tôi nhận thấy rằng rất nhiều trang web, khi tìm kiếm hoặc chỉ duyệt, sẽ thêm một biến nhận được gọi là utf và đặt nó bằng một dấu kiểm (?utf8=✓).Tại sao một số trang web có? Utf8 = ✓ trong tiêu đề của chúng?

Hai ví dụ là:

  • Dotabuff có URL tìm kiếm của nó bao gồm nó. Ví dụ: dotabuff.com/search?utf8=✓ & q = PPD

  • Bibme cũng có URL tìm kiếm của nó bao gồm nó. Ví dụ: bibme.org/mla/website-citation/search?utf8=✓ & q = someurl.com

Trả lời

51

URI chứa utf8=✓ để buộc các khách hàng để gửi UTF-8.
Nó hoạt động vì cặp khóa-giá trị (được bỏ qua bởi máy chủ) chứa ký tự chỉ có một ký tự đơn.

Từ Is the use of “utf8=✓” preferable to “utf8=true”?: phiên bản

Theo mặc định, cũ của IE (< = 8) sẽ gửi dữ liệu dạng trong Latin-1 mã hóa nếu có thể. Bằng cách bao gồm một ký tự không thể được thể hiện bằng tiếng Latin-1, IE buộc phải sử dụng mã hóa UTF-8 để gửi biểu mẫu của nó, điều này giúp đơn giản hóa các quy trình phụ trợ khác nhau, ví dụ như kiên trì cơ sở dữ liệu.

Nếu tham số thay vào đó là utf8=true thì điều này sẽ không kích hoạt mã hóa UTF-8 trong các trình duyệt này.

+10

Có lý do nào để IE sử dụng tiếng Latin không phải là IE không? – Frank

+6

Không, không có lý do gì trong một thời gian dài. – Deduplicator

+1

Tính công bằng, tùy thuộc vào cách máy chủ được thiết lập, không đảm bảo rằng 'utf8 = ✓' thực sự sẽ được _ignored_ bởi máy chủ, vì máy chủ có quyền truy cập vào toàn bộ URL. Mặc dù nếu đó là một trang web đang sử dụng nó, nó _probably_ không được sử dụng cho bất cứ điều gì bởi máy chủ. –

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