MySQL在执行插入操作时报:
SQLSTATE[HY000]: General error: 1366 Incorrect string value:
'\xE6\x8A\xBD\xE6\xA0\xB9' for column 'artisan' at row 1
错误位置
FILE:
F:\xampp\htdocs\workorder\Core\Library\Think\Db\Driver.class.php
LINE: 217
TRACE
#0
F:\xampp\htdocs\workorder\Core\Library\Think\Db\Driver.class.php(217):
PDOStatement->execute()
#1
F:\xampp\htdocs\workorder\Core\Library\Think\Db\Driver.class.php(888):
Think\Db\Driver->execute('UPDATE `work_or...',
false)
#2
F:\xampp\htdocs\workorder\Core\Library\Think\Model.class.php(451):
Think\Db\Driver->update(Array, Array)
#3
F:\xampp\htdocs\workorder\App\Admin\Action\OrderAction.class.php(193):
Think\Model->save(Array)
#4 [internal function]:
Admin\Action\OrderAction->accept()
#5 F:\xampp\htdocs\workorder\Core\Library\Think\App.class.php(164):
ReflectionMethod->invoke(Object(Admin\Action\OrderAction))
#6 F:\xampp\htdocs\workorder\Core\Library\Think\App.class.php(202):
Think\App::exec()
#7
F:\xampp\htdocs\workorder\Core\Library\Think\Think.class.php(120):
Think\App::run()
#8 F:\xampp\htdocs\workorder\Core\ThinkPHP.php(97):
Think\Think::start()
#9 F:\xampp\htdocs\workorder\index.php(27):
require('F:\xampp\htdocs...')
#10 {main}
报错的原因就是在执行插入时对Name这个字段被赋予了错误的字符串值:’ \xE6\x8A\xBD\xE6\xA0\xB9
’
实际上就函数里面的变量接收到的值编码格式跟它定义的不一致。 使用navicate打开表设计,
将各字段的编码格式是否与MySQL中my-default.ini中的编码设置一致即可