Python和php通信乱码问题解决方法
作者:
Python是在windows下的客户端,用的是cp936编码,php用的是utf-8编码,如果单纯使用urllib.urlencode编码之后post发送的话,php接收过来的中文会是类似\xb0\xe1这种形式的编码
即使在urlencode之前str.decode(“cp936″).encode(“utf-8″)做了编码转换也是没用的。后来查询手册查到一个urllib.quote()函数,用此方法成功解决!
python端:
str = "中文"
str = urllib.quote(str.decode("cp936").encode("utf-8"))
postData = {}
postData['str'] = str
...post请求发送代码...
php端:
$str = urldecode($_POST['str'])
echo $str;
完美解决乱码问题!
python端:
复制代码 代码如下:
str = "中文"
str = urllib.quote(str.decode("cp936").encode("utf-8"))
postData = {}
postData['str'] = str
...post请求发送代码...
php端:
复制代码 代码如下:
$str = urldecode($_POST['str'])
echo $str;
完美解决乱码问题!