Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

2 R¨¦paration du jeu de caract¨¨res et de la collation de la base de donn¨¦es Áú»¢¶Ä²©

MySQL/MariaDB

Historiquement, MySQL et ses d¨¦riv¨¦s utilisaient 'utf8' comme alias pour utf8mb3 - la propre impl¨¦mentation de 3 octets de MySQL de l'UTF8 standard, qui est de 4 octets. ? partir de MySQL 8.0.28 et MariaDB 10.6.1, le jeu de caract¨¨res 'utf8mb3' est obsol¨¨te et ¨¤ un moment donn¨¦, son support sera abandonn¨¦ tandis que 'utf8' deviendra une r¨¦f¨¦rence ¨¤ 'utf8mb4'. Depuis Áú»¢¶Ä²© 6.0, 'utf8mb4' est pris en charge. Pour ¨¦viter de futurs probl¨¨mes, il est fortement recommand¨¦ d'utiliser 'utf8mb4'. Un autre avantage du passage ¨¤ 'utf8mb4' est la prise en charge de caract¨¨res Unicode suppl¨¦mentaires.

Comme les versions ant¨¦rieures ¨¤ Áú»¢¶Ä²© 6.0 ne connaissent pas utf8mb4, assurez-vous d'abord de mettre ¨¤ niveau le serveur Áú»¢¶Ä²© et le sch¨¦ma de base de donn¨¦es vers 6.0.x avant d'ex¨¦cuter la conversion utf8mb4.

1. V¨¦rifiez le jeu de caract¨¨res et le classement de la base de donn¨¦es.

Par exemple:

mysql> SELECT @@character_set_database, @@collation_database;
       +--------------------------+----------------------+
       | @@character_set_database | @@collation_database |
       +--------------------------+----------------------+
       | latin2                   | latin2 _general_ci   |
       +--------------------------+----------------------+

Ou :

mysql> SELECT @@character_set_database, @@collation_database;
       +--------------------------+----------------------+
       | @@character_set_database | @@collation_database |
       +--------------------------+----------------------+
       | utf8                     | utf8_bin             |
       +--------------------------+----------------------+

Comme nous le voyons, le jeu de caract¨¨res ici n'est pas 'utf8mb4' et la collation n'est pas 'utf8mb4_bin', nous devons donc les corriger.

2. Arr¨ºtez Áú»¢¶Ä²©.

3. Cr¨¦ez une copie de sauvegarde de la base de donn¨¦es !

4. Corrigez le jeu de caract¨¨res et le classement au niveau de la base de donn¨¦es :

alter database <your DB name> character set utf8mb4 collate utf8mb4_bin;

Valeurs corrig¨¦es :

mysql> SELECT @@character_set_database, @@collation_database;
       +--------------------------+----------------------+
       | @@character_set_database | @@collation_database |
       +--------------------------+----------------------+
       | utf8mb4                  | utf8mb4_bin          |
       +--------------------------+----------------------+ 

5. Chargez le script pour corriger le jeu de caract¨¨res et le classement au niveau de la table et de la colonne :

mysql <your DB name> < utf8mb4_convert.sql

6. Ex¨¦cutez le script :

               SET @ZABBIX_DATABASE = '<nom de votre base de donn¨¦es>';
       Si MariaDB ¡ú  set innodb_strict_mode = OFF;        
                      CALL zbx_convert_utf8();
       Si MariaDB ¡ú  set innodb_strict_mode = ON;   
                      drop procedure zbx_convert_utf8;

Veuillez noter que 'utf8mb4' devrait consommer un peu plus d'espace disque.

7. S'il n'y a pas d'erreurs, vous pouvez cr¨¦er une copie de sauvegarde de la base de donn¨¦es avec la base de donn¨¦es corrig¨¦e.

8. D¨¦marrez Áú»¢¶Ä²©.