json_encode 中文不转义
时间: 2023-08-04 19:02:55 浏览: 188
可以通过设置 JSON_UNESCAPED_UNICODE 来实现不转义中文,示例如下:
```php
$data = array('name' => '张三', 'age' => 18);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
```
输出结果为:
```
{"name":"张三","age":18}
```
其中,JSON_UNESCAPED_UNICODE 是一个常量,表示不转义中文。
相关问题
php json_encode不转义双引号
在PHP中,`json_encode()`函数默认会将字符串中的双引号进行转义,以避免在生成的JSON字符串中出现语法错误。
例如,如果有一个字符串变量如下:
```php
$str = 'Hello "World"';
```
使用`json_encode()`函数将其转换成JSON字符串,结果如下:
```json
"Hello \"World\""
```
可以看到,双引号被转义成了`\"`。
如果你希望在生成的JSON字符串中不转义双引号,可以传入`JSON_UNESCAPED_SLASHES`选项参数。例如:
```php
$str = 'Hello "World"';
echo json_encode($str, JSON_UNESCAPED_SLASHES);
```
输出结果如下:
```
"Hello "World""
```
可以看到,双引号没有被转义。需要注意的是,在这种情况下,如果字符串中包含反斜杠`\`,则仍然会被转义成`\\`。如果想同时避免转义反斜杠,可以传入`JSON_UNESCAPED_UNICODE`选项参数。例如:
```php
$str = 'Hello "World\"';
echo json_encode($str, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
```
输出结果如下:
```
"Hello "World\\""
```
可以看到,双引号和反斜杠都没有被转义。
php中数组转json时汉字如何不变成unicode编码保留汉字,json_encode不转义中文汉字的方法...
可以在使用 `json_encode` 函数时,将 `JSON_UNESCAPED_UNICODE` 作为第二个参数传入,这样就可以保留汉字不被转义成 Unicode 编码了。
示例代码:
```
$arr = array('name'=>'张三', 'age'=>30);
$json = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $json;
```
输出结果:
```
{"name":"张三","age":30}
```
阅读全文