我收到的错误消息是:
PDOException: 未处理的异常 'PDOException',错误信息为“SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xF0\x9F\x98\xB3' for column 'string' at row 1”
我知道这里发生了什么问题。列表正在使用 utf8
编码,但 utf8
编码无法存储 4 字节字符,所以会出现错误。解决此问题的方法可能是改为使用 utf8mb4
。
我的问题是关于错误消息。我们使用的是 MariaDB。为什么错误消息中会显示“无效日期时间格式”?这是一个文本字段。查询中与日期时间无关。
这个“无效日期时间格式”经常出现在各种错误中,但似乎与实际错误来源无关。
yyyy-mm-dd hh:mm:ss
。鉴于你的\xF0
,你传递的内容与该格式根本不相似。而且由于你没有展示实际查询语句,我们无法提供任何帮助。 - Marc Butf8
编码的字符串作为datetime
参数发送,就是这样。 - MjhSHOW CREATE TABLE
以及错误消息中直接涉及的SQL。 - Rick James