spa*_*mix 44
如果内部有一些非utf8字符,即使大多数字符都是utf8字符,也会出现问题.这将删除任何非utf8字符,现在它可以工作.
$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');
Run Code Online (Sandbox Code Playgroud)
Irs*_*han 23
如果你有一个多维数组要以JSON格式编码,那么你可以使用下面的函数:
如果发生JSON_ERROR_UTF8:
$encoded = json_encode( utf8ize( $responseForJS ) );
Run Code Online (Sandbox Code Playgroud)
下面的函数用于递归编码数组数据
/* Use it for json_encode some corrupt UTF-8 chars
* useful for = malformed utf-8 characters possibly incorrectly encoded by json_encode
*/
function utf8ize( $mixed ) {
if (is_array($mixed)) {
foreach ($mixed as $key => $value) {
$mixed[$key] = utf8ize($value);
}
} elseif (is_string($mixed)) {
return mb_convert_encoding($mixed, "UTF-8", "UTF-8");
}
return $mixed;
}
Run Code Online (Sandbox Code Playgroud)
小智 10
请确保使用字符集iso作为utf8来启动Pdo对象。这样可以解决此问题,避免重新舞蹈。
$pdo = new PDO("mysql:host=localhost;dbname=mybase;charset=utf8", 'user', 'password');
Run Code Online (Sandbox Code Playgroud)
您只需添加您的 pdo 连接charset=utf8 如下面的 pdo 连接:
$pdo = new PDO("mysql:host=localhost;dbname=mybase;charset=utf8", 'user', 'password');
Run Code Online (Sandbox Code Playgroud)
希望能帮到你
在 php 7.2 中,有两个选项允许在 json_encode 中直接管理无效的 UTF-8:
https://www.php.net/manual/en/function.json-encode
json_encode($text, JSON_INVALID_UTF8_IGNORE);
Run Code Online (Sandbox Code Playgroud)
或者
json_encode($text, JSON_INVALID_UTF8_SUBSTITUTE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38419 次 |
| 最近记录: |