Tự động phát hiện mã hóa không phải là điều có thể thực hiện chính xác. Nó là khá nhiều điều cần thiết rằng mã hóa được quy định một cách rõ ràng. Nó có thể được đoán trong một số trường hợp, nhưng thậm chí sau đó không chắc chắn 100%.
Tài liệu này (Encoding) giải thích tình huống liên quan đến Notepad ++. Họ cũng chỉ ra rằng những khó khăn phát sinh đặc biệt là nếu các tập tin đã không được lưu với một Byte Order Mark (BOM).
Do tệp của bạn hiển thị chính xác khi bạn đặt mã hóa theo cách thủ công, tôi sẽ nói không có gì sai với cách bạn tạo và lưu tệp. Điều duy nhất bạn có thể kiểm tra là liệu BOM có đang được lưu hay không, điều này có thể cải thiện cơ hội Notepad ++ có thể tự động phát hiện mã hóa.
Cần lưu ý rằng mặc dù nó có thể giúp các trình soạn thảo như Notepad ++ xác định mã hóa chính xác hơn, theo tài liệu Unicode Standard, BOM không được khuyến nghị.
Nguồn
2013-01-09 21:50:52
Có cách nào để kiểm soát Thứ tự Byte trong PHP không? – Kamil
Tôi sợ tôi không phải là người PHP, nhưng tôi đã tìm thấy điều này có thể giúp: http://php.net/manual/en/function.utf8-encode.php#68211. Hãy nhớ rằng BOM là không cần thiết (và trên thực tế là không khuyến cáo trong tài liệu chuẩn Unicode) –
Cảm ơn @chamila_c. Đây là tất cả những gì tôi muốn biết. – Kamil