json_encode 中文不转义
时间: 2023-08-04 12:02:55 浏览: 56
可以通过设置 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_encode 转义符
在PHP中,json_encode函数默认会对中文字符进行转义,将其转换成unicode格式的字符。这是为了确保数据的传输和存储的安全性。如果你想要在json_encode函数中禁止转义中文字符,你可以使用JSON_UNESCAPED_UNICODE参数。这个参数可以在PHP版本高于5.4的环境中使用。通过设置json_encode函数的第二个参数为JSON_UNESCAPED_UNICODE,你可以确保json_encode函数不会对中文字符进行转义处理,而是直接输出中文字符。\[1\]\[2\]
#### 引用[.reference_title]
- *1* [json_encode 转义中文和反斜杠](https://blog.csdn.net/YYYYolanda/article/details/119777121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [php json_encode不转义中文汉字的方法](https://blog.csdn.net/weixin_39821035/article/details/115737794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]