Thực thể HTML đã được giới thiệu cách đây nhiều năm để vận chuyển thông tin ký tự trên dây khi vận chuyển không an toàn nhị phân và trong trường hợp tác nhân người dùng (trình duyệt) không hỗ trợ mã hóa ký tự của tầng vận chuyển hoặc máy chủ.
Là một thực thể HTML chỉ chứa các ký tự rất cơ bản (&
, ;
, a-z
và 0-9
) và những nhân vật có mã hóa nhị phân tương tự trong hầu hết các bộ ký tự, đây là và rất an toàn từ những tác dụng phụ.
Tuy nhiên khi bạn lưu trữ thứ gì đó trong cơ sở dữ liệu, bạn không có những vấn đề này vì bạn thường kiểm soát và bạn biết cách lưu trữ văn bản vào cơ sở dữ liệu.
Ví dụ: nếu bạn cho phép Unicode cho văn bản bên trong cơ sở dữ liệu, bạn có thể lưu trữ tất cả các ký tự, không có ký tự nào thực sự đặc biệt. Lưu ý rằng bạn cần phải biết cơ sở dữ liệu của mình ở đây, có một số chi tiết kỹ thuật mà bạn có thể chạy vào. Giống như bạn không biết mã hóa bảng mã cho kết nối cơ sở dữ liệu của bạn, do đó bạn không thể cho biết chính xác cơ sở dữ liệu của mình là văn bản nào bạn muốn lưu trữ trong đó. Nhưng nói chung, bạn chỉ cần lưu trữ văn bản và truy xuất lại sau. Không có gì đặc biệt để giải quyết.
Trong thực tế có nhược điểm khi bạn sử dụng các thực thể HTML thay vì nhân vật đồng bằng:
- thực thể HTML tiêu thụ thêm không gian:
ü
là lớn hơn nhiều so ü
trong LATIN-1, UTF-8, UTF-16 hoặc UTF-32.
- Thực thể HTML cần được xử lý thêm. Chúng cần được tạo ra và khi đọc, chúng cần được phân tích cú pháp. Hãy tưởng tượng bạn cần phải tìm kiếm một văn bản cụ thể trong cơ sở dữ liệu của bạn, hoặc bất kỳ hành động nào khác sẽ cần xử lý thêm. Đó chỉ là trên không.
Điều thú vị thực sự bắt đầu khi bạn kết hợp cả hai khái niệm. Bạn đến một nơi bạn thực sự không muốn đi vào. Vì vậy, chỉ cần không làm điều đó bởi vì bạn sẽ không cần nó.
Tôi mất tự do thay đổi tiêu đề của bạn một chút - tiêu đề của bạn tốt, nhưng theo cách này, bạn sẽ dễ dàng tìm thấy các câu hỏi tương tự trong tương lai. (Tôi chỉ tìm kiếm và nhận ra không có bản sao dễ tìm này.) –
Điều đó tùy thuộc vào bộ ký tự mà cột đang sử dụng nơi bạn lưu trữ HTML. Thông thường, bạn nên sử dụng bộ ký tự bao gồm tất cả các ký tự (vì vậy không có ký tự nào "đặc biệt") và dữ liệu của bạn có thể được lưu trữ ở dạng bình thường và không chứa bất kỳ mã hóa đặc biệt nào bên cạnh mã hóa mã vạch trống mà mọi trường văn bản trong cơ sở dữ liệu dù sao. – hakre
@Pekka Tốt thôi. Nếu nó hữu ích cho người khác theo cách này, tôi phải cảm ơn bạn. –