The current generation of idiots can't express themselves without relying on emojis, so you have to change the comments field in orders_status_history to utf8mb4 if you haven't done so.
The short fix is just a couple of clicks in phpMyAdmin.
You will know you have this problem if you see an error log like this:
Code:
myDEBUG-20201127-051659-023637-error.log:--> PHP Fatal error: 1366:Incorrect string value: '\xF0\x9F\x98\x80. ...' for column `mydb`.`orders_status_history`.`comments` at row 1 :: INSERT INTO orders_status_history (orders_id, orders_status_id, date_added, customer_notified, comments) VALUES ('34303', '1', now(), '1', 'I am an idiot. As proof, here's an emoji! . Have a nice day.') ==> (as called by) /includes/functions/database.php on line 44 <== in /includes/classes/db/mysql/query_factory.php on line 170.
There's another thread on this but it's a bit long so I thought I'd post this for easier reference.
To change from your current collation to utf8mb4 in phpMyAdmin
- select the order_status_history table
- click Change on the comments row
- under collation, select utf8mb4_general_ci
- press Save
Bookmarks