Mysql
 sql >> Base de données >  >> RDS >> Mysql

node.js/MySQL :certains encodages de chaîne (Emoji) génèrent des erreurs lorsque j'essaie d'insérer dans la base de données

La réponse probable est que la connexion MySQL n'a pas spécifié utf8mb4 . (Plus précisément, utf8 de MySQL ne va pas suffit pour Emoji.) Pouvez-vous fournir le code de connexion ? Voici une alternative :exécutez ceci après vous être connecté à MySQL :

SET NAMES utf8mb4

Une autre réponse possible est que le serveur Web ne traite pas la page comme UTF-8 . Une façon de résoudre ce problème est avec ceci dans le <head> :

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

Et la colonne doit être CHARACTER SET utf8mb4 , pas ut8 .

regroupement de connexions node.js

var connection = mysql.createConnection({ ... , charset : 'utf8mb4'});

Voir stackoverflow