python中URL传入中文存入数据库乱码

url中类似这样传入中文参数

http://localhost:8080/api/哈哈/

代码中设置了 # -*- coding: utf-8 -*-

然后print(type(param),param)为

(<type 'unicode'>, u'%C8%C8')

数据库使用postgres

myDB=# show client_encoding;

client_encoding 
-----------------
 UTF8
(1 row)

myDB=# \l

|   Owner   | Encoding |   Collate   |    Ctype    |
| postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

报错:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 28: ordinal not in range(128)

控制台报错了 但是数据库的字段还是更新了 变成%C8%C8了
该怎么处理?

1个回答

在后台接收的时候再字符转换一下再存

weixin_37966622
隔山海。 encode和decode我都试过了 不行 他把%转成\x
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问