フレームに表示するファイルに問題がない場合は、データに問題がある可能性があります。私は常にPHP、Apache、MySQLをUTF8で構成しようとしています。このために、いくつかの構成ファイルを編集します。
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
次に:
sudo service mysql restart
PHP: /etc/php.ini
default_charset = "UTF-8"
Apache: /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8
次に:
sudo service apache2 restart
データベースに接続するときに考慮すべきもう1つのこと:
...
$link = mysql_connect(SERVER, USER, PASSWORD);
mysql_set_charset('utf8', $link);
...
以下を使用して、変数に関連するすべての文字を確認できます:
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 |
+--------------------------+----------------------------+
iframeタグに表示されるページにも次のものがあることを確認する必要があります:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
多少お役に立てば幸いです。