Nếu vấn đề không nằm trong các tệp để hiển thị trong khung, có thể là vấn đề trong dữ liệu. Tôi luôn cố gắng định cấu hình PHP, Apache và MySQL bằng UTF8. Vì vậy, tôi chỉnh sửa một số tệp cấu hình.
MySQL: /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init-connect='SET NAMES utf8'
character-set-client=utf8
character_set_results=utf8
Sau đó:
sudo service mysql restart
PHP: /etc/php.ini
default_charset = "UTF-8"
Apache: /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8
Sau đó:
sudo service apache2 restart
Một điều khác cần xem xét khi kết nối với cơ sở dữ liệu:
...
$link = mysql_connect(SERVER, USER, PASSWORD);
mysql_set_charset('utf8', $link);
...
Bạn có thể xem tất cả các biến liên quan đến ký tự bằng cách sử dụng:
SHOW VARIABLES LIKE 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | NO_CHAIN |
| concurrent_insert | AUTO |
| connect_timeout | 10 |
+--------------------------+----------------------------+
Bạn phải đảm bảo rằng trang được hiển thị trong thẻ iframe cũng có:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Tôi hy vọng nó sẽ giúp được phần nào.