Do lỗi của người tiền nhiệm của tôi, cơ sở dữ liệu (MySQL) tôi muốn sử dụng chứa nhiều thực thể HTML (ví dụ: €
thay vì €
).Xóa thực thể html khỏi cơ sở dữ liệu
Vì cơ sở dữ liệu phải chứa dữ liệu thô (cơ sở dữ liệu không có gì để làm với HTML) Tôi muốn xóa chúng khỏi DB và lưu trữ nó theo đúng UTF8, sắp xếp thứ tự đã là vậy.
Điều gì sẽ là cách hay để khắc phục sự cố này? Điều duy nhất tôi có thể nghĩ đến là viết một kịch bản PHP nhận tất cả dữ liệu, chạy nó thông qua html_entity_decode() và viết nó trở lại. Đó là doable vì nó là một hoạt động một lần và DB chỉ khoảng 100MB lớn, nhưng nó vẫn còn ít hơn tối ưu.
Bất kỳ ý tưởng nào?
Nếu nó chỉ là một vài nhân vật khác nhau, bạn có thể có thể làm một truy vấn cập nhật với chuỗi đơn giản tìm kiếm/thay thế. Nhưng nếu đó là một loạt, sau đó đi với tùy chọn khứ hồi PHP. –
Có hơn 50 thực thể chỉ sử dụng trong cơ sở dữ liệu này và HTML cho phép mọi ký tự được viết dưới dạng thực thể HTML sử dụng cú pháp xx;, vì vậy nó không đơn giản như tìm kiếm và thay thế. – dtech