Dựa trên các nhận xét tôi đã nhận được, tôi đã xem xét thêm một chút. Có vẻ như hiện tại thực hành tốt nhất là từ bỏ việc sử dụng các thực thể HTML và sử dụng ký tự UTF-8 thực tế thay vì. Các lý do được liệt kê như sau:
- Mã hóa UTF-8 dễ đọc và chỉnh sửa hơn cho những người hiểu ý nghĩa của nhân vật và biết cách nhập.
- Mã hóa UTF-8 không dễ hiểu như mã hóa thực thể HTML cho những người không hiểu chúng, nhưng chúng có lợi thế là biểu hiện dưới dạng ký tự đặc biệt thay vì khó hiểu mã hóa thập phân hoặc thập lục phân.
Miễn là mã hóa trang của bạn được đặt đúng thành UTF-8, bạn nên sử dụng ký tự thực thay vì thực thể HTML. Tôi đọc một số tài liệu về chủ đề này, nhưng hữu ích nhất là:
Từ UTF-8: The Secret of Character Encoding bài viết:
Wikipedia là nghiên cứu điển hình tuyệt vời cho ứng dụng ban đầu được sử dụng ISO-8859-1 nhưng chuyển sang UTF-8 khi nó trở nên quá cồng kềnh để hỗ trợ ngôn ngữ nước ngoài. Bots giờ sẽ là thực sự xem qua các bài viết và chuyển đổi các thực thể ký tự thành các ký tự tương ứng thực sự của vì lợi ích của người dùng và khả năng tìm kiếm.
Bài viết đó cũng đưa ra một ví dụ điển hình về mã hóa tiếng Hoa. Dưới đây là ví dụ viết tắt vì lợi ích của sự lười biếng:
UTF-8:
這兩個字是甚麼意思
Đối tượng HTML:
這兩個字是甚麼意思
Các UTF-8 và HTML mã hóa thực thể đều vô nghĩa đối với tôi, nhưng ít nhất là mã hóa UTF-8 có thể nhận ra như một ngôn ngữ nước ngoài và nó sẽ hiển thị chính xác trong hộp chỉnh sửa.Bài báo tiếp tục nói như sau về phiên bản thực thể mã hóa HTML:
Vô cùng bất tiện cho những người trong chúng những người thực sự biết những gì nhân vật thực thể là, hoàn toàn không thể hiểu được cho người dùng nghèo người không! Thậm chí thân thiện với người dùng hơn một chút, các đối tượng ký tự "dễ hiểu" như & theta; sẽ để người dùng không quan tâm đến việc học HTML gãi đầu. Mặt khác, nếu họ thấy θ trong hộp chỉnh sửa, họ sẽ biết rằng đó là một ký tự đặc biệt và xử lý nó theo cách phù hợp, ngay cả khi họ không biết cách tự viết ký tự đó.
Như những người khác đã lưu ý, bạn vẫn phải sử dụng các thực thể HTML cho các ký tự XML được đặt trước (ký hiệu, nhỏ hơn, lớn hơn).
Nguồn
2009-01-12 19:19:28
Một lưu ý phụ, htmlentities() trong PHP sẽ làm gì? –
Đọc câu trả lời và nhận xét có vẻ như với tôi, chưa có quy tắc phổ quát ủng hộ cái này hay cái kia, và câu trả lời vẫn là * nó phụ thuộc *. –