我通过 GET 请求参数接收数据。其中一些参数是字符串,我猜由于编码问题,我很难正确显示它们。
这是我收到的一个例子:
{'id_origen': u'9', 'apellidos': u'\xd1\xe9rez', 'nombre': u'Pimp\xe1m'}
您可以看到键 'apellidos' 的值没有被正确接收。它出现
u'\xd1\xe9rez'
代替
Núñez.
我试图以一种非常原始的方式解决这个问题,例如用“á”替换像“\xe1”这样的字符的每个外观。但这也给我带来了问题。这是我想出的代码:
tabla = {'\xE1':'á', '\xE9':'é', '\xED': 'í', '\xF3':'ó', '\xFA':'ú'}
logger.info ("Valor del argumento antes del bucle de urldecode: %s" % valor)
for k, v in tabla.iteritems():
if k in valor:
valor.replace(k, v)
当然,它并没有像我预期的那样工作。
我收到的这些类型的字符编码的适当处理是什么?