Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 流明和UTF-8编码_Php_Mysql_Encoding_Utf 8_Lumen - Fatal编程技术网

Php 流明和UTF-8编码

Php 流明和UTF-8编码,php,mysql,encoding,utf-8,lumen,Php,Mysql,Encoding,Utf 8,Lumen,我在查询MySQL数据库后试图返回JSON响应时遇到了Lumen 5.3的问题 我的方案和我所有的表都用utf8\u general\u ci编码,这是我的代码示例,给我带来了麻烦: public function getUserByMail(Request $request){ $user = app('db')->table('user')->select('id','lastName', 'firstName','mail','status')->where('m

我在查询MySQL数据库后试图返回JSON响应时遇到了Lumen 5.3的问题

我的方案和我所有的表都用
utf8\u general\u ci
编码,这是我的代码示例,给我带来了麻烦:

public function getUserByMail(Request $request){
    $user = app('db')->table('user')->select('id','lastName', 'firstName','mail','status')->where('mail',$request->input('userMail'))->first();
    return response()->json(
        array('id' => $user->id,
            'lastName' => $user->lastName,
            'firstName' => $user->firstName,
            'mail' => $user->mail,
            'status' => $user->status));
}
有时(但仅有时),这段代码在调用
json()
方法时引发异常
格式错误的UTF-8字符,可能编码不正确


我不知道该怎么做来修复它,有人有主意吗

我终于明白发生了什么:在Wamp安装上运行Lumen时,由于配置加载问题,我遇到了这个错误

Lumen框架使用
DotEnv
加载指定数据库连接信息的
.env
文件。但在某些情况下(我怀疑PHP多线程支持出现故障),我的请求使用了Laravel的默认数据库登录(
forge@localhost
)访问数据库,该操作失败(Lumen异常处理程序未捕获遇到的
PDOException
),并且我的
$user
变量不包含我期望的内容,这导致了UTF-8错误

Lumen GitHub()中引用了此问题


我使用此命令修复了此问题,以强制加载我的配置。

尝试使用var\u转储导致此错误的值。然后,您将看到哪里出了问题。请在指定客户端字符集的位置向我们显示连接代码。