loopback4、mysqlノードコネクタ文字がサポートutf8mb4を設定しました

シーン:データベースの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

おすすめ

転載: www.cnblogs.com/vincegod/p/11355554.html