sql >> Databasteknik >  >> RDS >> Mysql

node.js/MySQL:Vissa strängkodningar (emoji) ger fel när jag försöker infoga i databasen

Det troliga svaret är att MySQL-anslutningen inte specificerade utf8mb4 . (Särskilt MySQL:s utf8 kommer inte räcker för Emoji.) Kan du ange anslutningskoden? Här är en reserv:Kör detta efter att ha anslutit till MySQL:

SET NAMES utf8mb4

Ett annat möjligt svar är att webbservern inte behandlar sidan som UTF-8 . Ett sätt att lösa detta är med detta i <head> :

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

Och kolumnen måste vara CHARACTER SET utf8mb4 , inte ut8 .

node.js anslutningspoolning

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

Se stackoverflow



  1. MySQL sök en text från två kolumner

  2. Möjligt sätt att infoga lastInsertId från en tabell till en annan samtidigt eller samtidigt

  3. Jämföra ett nollvärde med ett annat värde i MySQL Trigger

  4. SQL:hur ordnar jag efter ett fält om det inte är null annars använd ett annat fält