Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler bei Zeichen in einem HTML-Iframe

Wenn das Problem nicht in den Dateien liegt, die im Frame angezeigt werden sollen, kann das Problem in den Daten liegen. Ich versuche immer, PHP, Apache und MySQL mit UTF8 zu konfigurieren. Dazu bearbeite ich einige Konfigurationsdateien.

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

Dann:

sudo service mysql restart

PHP: /etc/php.ini

default_charset = "UTF-8"

Apache: /etc/apache2/conf.d/charset

AddDefaultCharset UTF-8

Dann:

sudo service apache2 restart

Eine weitere Sache, die Sie beim Verbinden mit der Datenbank beachten sollten:

...
$link = mysql_connect(SERVER, USER, PASSWORD);
mysql_set_charset('utf8', $link);
...

Sie können alle zeichenbezogenen Variablen sehen mit:

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                         |
+--------------------------+----------------------------+

Sie müssen sicherstellen, dass die im Iframe-Tag angezeigte Seite auch Folgendes enthält:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Ich hoffe, es hilft etwas.