Các vấn đề về thiết lập nhân vật thường thực sự phức tạp để tìm ra. Về cơ bản, bạn cần đảm bảo rằng tất cả những điều sau đây đều đúng:
- Kết nối DB đang sử dụng UTF-8
- Các bảng DB đang sử dụng UTF-8
- Các cột riêng lẻ trong các bảng DB đang sử dụng UTF-8
- Dữ liệu thực sự được lưu trữ đúng theo mã hóa UTF-8 bên trong cơ sở dữ liệu (thường không đúng nếu bạn đã nhập từ các nguồn không hợp lệ hoặc thay đổi đối chiếu bảng hoặc cột)
- Trang web đang yêu cầu UTF-8
- Apache đang phục vụ UTF-8
Dưới đây là một hướng dẫn tốt về cách xử lý danh sách đó, từ đầu đến cuối: http:/ /www.bluebox.net/news/2009/07/mysql_encoding/
Có vẻ như vấn đề của bạn cụ thể là bạn có các ký tự được mã hóa kép (hoặc mã hóa ba), có thể do thay đổi bộ ký tự hoặc nhập dữ liệu đã được mã hóa với bộ ký tự sai. Có toàn bộ phần về cách khắc phục vấn đề đó trong hướng dẫn trên.