2020.01.18
1.json数据的解码和编码
在不同的语言下,有不同的解码和编码方法。我们现在看看php下如何对json数据编码和解码的。
<?php
$json_data = array(
'date' => '2020.01.18',
'city' => 'Yantai',
'weather' => 'sunny'
);
?>
在php中,对一个对象json编码,可以使用php内置的函数:json_encode
对上面的数组进行json编码后,我们得到一个字符串
{"date":"2020.01.18","city":"Yantai","weather":"sunny"}
同样的,我们对上面这个字符串json解码,使用php内置函数json_decode
就可以得到这个字符串对应的对象
另:json_decode
函数有第二个参数。json_decode($array,true)
当第二个参数为true时返回数组,默认值为false 返回对象。
2.数据在前后端传输过程中的转化情况
因为浏览器的编码规则和服务器的解码规则不一样,有可能会导致前端传给后端“一串乱码”。所以我们为了防止这种情况的发生,通常先会将数据转变为json格式,然后告诉浏览器我们要使用哪种方法进行编码。
前后端交互过程中涉及的编码
Browser cilent: 首先,浏览器的设置里有设置编码格式,一般设置为UTF-8。
AJAX request: AJAX异步请求的过程中可以设置编码,
contentType:"application/x-www-form-urlencoded; charset=utf-8"
PHP cilent: PHP通过
$_POST
这个全局变量接收前端POST过来的数据,编码格式为AJAX在请求头中设置的charset=utf-8
,PHP操作的过程中可以通过iconv
函数库自行转码,例如iconv("UTF-8","GB2312//IGNORE",$data)
connection: 在PHP与数据库连接的过程中可以设置
connection
过程中使用的编码格式,例如CodeIgniter框架可以在数据库配置文件database.php中,设置'char_set' => 'latin1'
databases: 数据会先把数据从php客户端的编码转为转为
connection
中设置的编码,再以字节流的形式传输并插入数据库。
常见的字符编码方式
-
UTF-8 万国码
-
latin1 又称“西欧语言”,是mysql数据库默认设置。为单字节编码
-
-
GBK 汉字内码扩展规范,支持繁体与简体和许多符号
参考资料
原文地址:https://www.cnblogs.com/peachheart3/p/12209631.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法