[已解决]如何解决插入mysql数据库时报不支持的字符错?

直接正则过滤好了

$text = preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $text);

=======

我数据库表编码是utf8_general_ci

当插入数据时有特殊字符时就报错了:

An exception occurred while executing 'UPDATE user_order SET update_time = ?, memo = ? WHERE id = ?' with params [1513996274, \"\\u5fae\\u4fe1 \\ud83c\\udf4eDGTyy\", 224]:\n\nSQLSTATE[HY000]: 

General error: 1366 Incorrect string value: '\\xF0\\x9F\\x8D\\x8EDG...' for column 'memo' at row 1 
扬帆大鱼
浏览 449回答 1
1回答

GCT1015

建议全部转为utf8mb4编码。 ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
打开App,查看更多内容
随时随地看视频慕课网APP