我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.
我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?
这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.
我正在使用Laravel(一个PHP框架)为移动设备编写服务并以JSON格式返回数据.在数据结果中有一些字段编码UTF-8.
以下声明
return JsonResponse::create($data);
Run Code Online (Sandbox Code Playgroud)
返回以下错误
InvalidArgumentException
HELP
Malformed UTF-8 characters, possibly incorrectly encoded
Open: /var/www/html/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
} catch (\Exception $exception) {
restore_error_handler();
throw $exception;
}
if (JSON_ERROR_NONE !== json_last_error()) {
throw new \InvalidArgumentException($this->transformJsonError());
}
Run Code Online (Sandbox Code Playgroud)
我改变了:
return JsonResponse::create($data);
Run Code Online (Sandbox Code Playgroud)
至
return JsonResponse::create($data, 200, array('Content-Type'=>'application/json; charset=utf-8' ));
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.
我该如何解决?