Partage
  • Partager sur Facebook
  • Partager sur Twitter

Nodejs envoyer caractère spéciaux base de données

12 janvier 2021 à 17:01:28

Bonjour,

j'aimerai envoyer des messages avec caractère spéciaux a une base de données .

l'erreur : 

err : Error: (conn=5, no: 1064, SQLState: 42000) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CALL `add_tweet`('\0014I'"#1\0001A%0+H'','1610451843','ja','F','javascript',2,'���...' at line 1
sql: SET NAMES latin1;CALL `add_tweet`(?,?,?,?,?,?,?) - parameters:['ด้วยรักและห่ว','1610451843','ja','F','javascript',2,'ユーザー名']

le problème c'est qu'il transforme "ด้วยรักและห่ว" -> "\0014I'"#1\0001A%0+H'".

pour le code c'est du JS :

const pool = Mariadb.createPool({
	host: `${process.env.MARIADB_HOST}`, 
	user: `${process.env.MARIADB_USER}`, 
	password: `${process.env.MARIADB_PASSWORD}`, 
	database : `${process.env.MARIADB_DATABASE}`,
	charset : 'latin1',
	connectionLimit: 5
});

try {
	let message =  'ด้วยรักและห่ว';
	conn = await pool.query("SET NAMES latin1;CALL `add_tweet`(?,?,?,?,?,?,?)",[message,'1610451843','ja','F','javascript',2,'ユーザー名']);
} catch (err) {
	console.log(message);
	console.log("err : "+err);
} finally {
}


si vous savez comment faire merci d'avance .

-
Edité par di20 12 janvier 2021 à 17:09:25

  • Partager sur Facebook
  • Partager sur Twitter
12 janvier 2021 à 17:04:28 - Message modéré pour le motif suivant : La demande de l'équipe de modération a été honorée.


Pas d'aide concernant le code par MP, le forum est là pour ça :)

12 janvier 2021 à 17:11:19

Bonjour Lamecarlate ,

désolé pour le titre .

  • Partager sur Facebook
  • Partager sur Twitter
12 janvier 2021 à 19:19:55

Merci d'avoir changé le titre :)
  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)

12 janvier 2021 à 20:09:37

je vient de faire des tests est si j'utilise HeidiSQL il n'y a pas de problème a condition d'utiliser le 'latin1'

  • Partager sur Facebook
  • Partager sur Twitter