1.js的编码跟php的编码不同,js解析php的编码时候有可能会出错的,所以建议php不要编码返回东西给js。
2.js编码完的东西,php会自动解析,不用使用专门的解码。如果使用了解码,反而结果是错的。
php传递数据给js的时候,一般都是http请求的返回数据,这样的数据不会有其他的程序进行中间处理,所以一般是直接传递数据就ok,双方约定好字符集就ok
js传递数据给php的时候,一般是发生在http的请求环节,这个环节一般有两个程序会对传递的数据进行处理:1、浏览器,浏览器会收到js发送数据的请求,并对相关的get和post数据进行编码(具体来说HTTP协议中的URI部分使用url编码,POST部分根据表单的编码类型进行编码,不同的浏览器还会有一些前置的字符集检查过程,和编码检查过程(检查js是否已经自行编码)这些前置过程会导致很多的浏览器差异和兼容性问题)2、web服务器,后端web服务器对传递的数据进行解码,这个解码过程相对统一:先对uri进行参数识别(识别?号,&号这些参数分割标识),然后对各个识别后的字符串进行url解码,如果是POST参数,则直接根据POST表单的编码类型进行解码。