シーン:データベースのSQL文は、ログインニックネームの顔文字を含むマイクロ文字として絵文字顔文字が含まれ、データベースはUTF8を使用して挿入することができない「不正な文字列値:\」プロンプトが表示されます\\ XF0 \\ x9F \\ X90 \\ xBE \\ xE5を\\ XAE ... \ '列の\' NICK_NAME \ '行1での'
原因:バックエンドデータベース・キャラクタ・セットがutf8mb4に設定されていないloopback4が、原因のMySQLコネクタのバージョンにloopback4使用が低すぎることがあり、文字セットの問題があり、
"mysqlの": "2.17.1"、
"ループバック・コネクター-mysqlの": "^ 5.4.2"、
直接node_modules / mysqlの/ libに/ ConnectionConfig.jsライン55を変更するためのソリューション、
this.charsetNumber =(options.charset)
?ConnectionConfig.getCharsetNumber(options.charset)
:options.charsetNumber || 文字セット。
UTF8_GENERAL_CI
;
;
変更
this.charsetNumber =(options.charset)
?ConnectionConfig.getCharsetNumber(options.charset)
:options.charsetNumber || 文字セット。
UTF8MB4_UNICODE_CI
;
変更が完了すると、直接nodejsの再開を有効にします。
参照文献:https://github.com/mysqljs/mysql/pull/1408/commits/b6b7f06b88e9c899244fa6219933dbe6cbab2c89