sql >> Database teknologi >  >> RDS >> Mysql

Fejl med tegn i en html iframe

Hvis problemet ikke er i filerne, der skal vises i rammen, kan det være problemet i dataene. Jeg forsøger altid at konfigurere PHP, Apache og MySQL med UTF8. Til dette redigerer jeg nogle konfigurationsfiler.

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

Så:

sudo service mysql restart

PHP: /etc/php.ini

default_charset = "UTF-8"

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

AddDefaultCharset UTF-8

Derefter:

sudo service apache2 restart

En anden ting at overveje, når du opretter forbindelse til databasen:

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

Du kan se alle tegnrelaterede variabler ved at bruge:

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

Du skal sikre dig, at siden, der vises i iframe-tagget, også har:

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

Jeg håber, det hjælper lidt.




  1. Hvordan kan jeg bruge mySQL replace() til at erstatte strenge i flere poster?

  2. Sådan finder du en tabel, hvor statistik er låst

  3. Sådan får du en forespørgsel til at overføre til efterfølgende sider ved paginering af resultater

  4. MYSQLI::prepare() , fejl ved brug af pladsholder :noget