鍍金池/ 問答/PHP  數(shù)據(jù)庫/ [已解決]如何解決插入mysql數(shù)據(jù)庫時報不支持的字符錯?

[已解決]如何解決插入mysql數(shù)據(jù)庫時報不支持的字符錯?

直接正則過濾好了

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

=======

我數(shù)據(jù)庫表編碼是utf8_general_ci

當插入數(shù)據(jù)時有特殊字符時就報錯了:

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 
回答
編輯回答
陪她鬧

建議全部轉(zhuǎn)為utf8mb4編碼。

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2017年6月21日 01:32