WPML
Statut
Résolu

Aperçu de l’anomalie

Si vous utilisez un constructeur de pages sur votre site, vous remarquerez peut-être que si vous ajoutez des émojis dans un bloc de contenu, ce bloc ne sera pas disponible pour la traduction dans l’Éditeur de traduction avancé ou dans l’Éditeur de traduction classique.

Solution de contournement

Ce problème survient en raison d’un conflit d’interclassement de table. Si votre serveur prend en charge l’interclassement utf8mb4_general_ci, vous pouvez suivre cette procédure après avoir effectué une sauvegarde complète de votre site :


  1. Ouvrez le fichier functions.php de votre thème.

  2. Ajoutez ce code :
    // Notice admin_init - will only run in backend
    add_action('admin_init', function() {
    	require_once(ABSPATH.'/wp-admin/includes/upgrade.php');
    	global $wpdb;
    	$mytables=$wpdb->get_results("SHOW TABLES");
    	foreach ($mytables as $mytable)
    	{
    	    foreach ($mytable as $t) 
    	    {       
    	        maybe_convert_table_to_utf8mb4( $t );
    	    }
    	}
    	
    });


  3. Visitez n’importe quelle page dans le back-end de votre site.

  4. Supprimez le code.

L’interclassement des tables de votre base de données devrait maintenant être utf8mb4_general_ci, et le contenu sera disponible pour la traduction.

Si la base de données de votre site utilise l’interclassement latin1, vous pouvez appliquer la solution de contournement suivante à la place :


  1. Effectuez une sauvegarde complète de votre site avant de continuer.

  2. Allez sur : https://github.com/interconnectit/Search-Replace-DB.

  3. Téléchargez le fichier ZIP du projet et décompressez-le.

  4. Téléversez le dossier décompressé vers votre installation WordPress à l’aide d’un client FTP.

  5. Visitez le dossier – par ex. http://example.com/Search-Replace-DB-master/

  6. Renseignez le nom de votre base de données, le serveur, l’utilisateur et le mot de passe. Vous pouvez obtenir ces valeurs à partir de votre fichier wp-config.php.

  7. Cliquez et testez la connexion.

  8. Allez en bas et cliquez sur le bouton « Convert to UTF8MB4 ».

  9. Attendez que le processus se termine.

  10. Une fois cela fait, cliquez sur le bouton « Delete me »

 

Toutes les anomalies connues →