PHP Fatal error: Uncaught InvalidArgumentException: Malformed UTF-8 characters, possibly incorrectly encoded in D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\response\Json.php:50
这个错的原因是服务器mysql版本是5.6,而我这台机子的版本是5.7,这样导致字符集问题?
我看了下两个版本的字符集都是utf8的,问题出在哪呢?
mysql> show variables like 'character%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+--------------------------------------------------------+
最近换了太开发机子,登录时报服务器500错误,经测试Session::set(config("admin.admin_session_name"), ['id'=>1]);报这个错,如果换成Session::set('username',['id'=>1]);这样写却不报错
AdminUser::where("username" ,$username) ->findOrempty();这样写也会报这个错误
查找了半天找不到原因,由于Session::set(config("admin.admin_session_name"), ['id'=>1]);这个似乎没有涉及到sql数据呀,所以迟迟没找到是数据库版本的原因
[21-Jun-2023 11:54:27 Asia/Shanghai] PHP Fatal error: Uncaught InvalidArgumentException: Malformed UTF-8 characters, possibly incorrectly encoded in D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\response\Json.php:50
Stack trace:
#0 D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\Response.php(385): think\response\Json->output(false)
#1 D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\Response.php(131): think\Response->getContent()
#2 D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\initializer\Error.php(58): think\Response->send()
#3 D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\initializer\Error.php(91): think\initializer\Error->appException(Object(think\exception\ErrorException))
#4 [internal function]: think\initializer\Error->appShutdown()
#5 {main}
thrown in D:\phpstudy_pro\WWW\www.demo.com\vendor\topthink\framework\src\think\response\Json.php on line 50
虽然换了版本但是具体原因还是没找到哪个数据除了问题