2016-09-28 99 views
3

这是我收到的错误。带有消息'SQLSTATE [22007]未捕获异常'PDOException':日期时间格式无效:1366字符串值不正确

PDOException:未捕获的异常 'PDOException' 与消息 'SQLSTATE [22007]:无效日期时间格式:1366不正确的字符串值: '\ XF0 \ x9F \ X98 \ XB3' 列 '字串' 在行1'

我知道这里的问题。列表使用utf8utf8编码不能存储4个字节的字符,所以它的错误。解决这个问题的方法可能是使用utf8mb4

我的问题是关于错误信息。我们正在使用MariaDB。 为什么在错误信息中显示“无效的日期时间格式”?这是一个文本字段。正在运行的查询中与日期时间无关。

这种“无效的日期时间格式”经常出现各种错误,但似乎与错误的实际来源无关。

+1

因为mysql日期/时间字符串是'yyyy-mm-dd hh:mm:ss'。考虑到你的'\ xF0',你传递的东西甚至不是以这种形式远程关闭。由于您没有显示您的实际查询,我们无法做任何事情来帮助您。 –

+0

马克B.说什么。不要发送'utf8'编码的字符串作为'datetime'参数,就这些。 – Mjh

+1

如果您确信没有日期在执行此查询时受到伤害,那么可能是您碰到了一些使我们的生活更有趣的奇怪错误。它有多可重复性?你能提供一个独立的例子吗? –

回答

2

是的,我以前见过这个。

我想这是mariadb方面的一个错误,错误值上的所有错误都被称为“不正确的日期时间值”。

尽管旁边有点混乱,但我看不出有什么伤害。请记住该问题并将其视为“不正确的文本值”

相关问题