php md5和js不一致是因为编码造成,其解决办法就是直接将php和js的中文转成字符即可,代码如“md5(rawurlencode('中文 内容'));”。
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
php md5和js不一致怎么办?
中文php md5和js md5不一致的简单解决办法
中文状态下,php的md5和js的md5不一致,主要是编码造成的,这里就不说转换编码了,麻烦,直接将php和js的中文转成字符就能解决了:
php下md5:
md5(rawurlencode('中文 内容'));
js下md5:
md5.hex_md5(encodeURIComponent('中文 内容'));
注意:php进行转码时,不能用urlencode,它不会对空格进行转码,而js的encodeURIComponent会,这就导致了如果参数中含有空格,结果还是不一致。二php的rawurlencode则会和js一样,对空格进行转码。
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。