您好我正在尝试将字符串值存储到MySQL,并且我使用db.escape_string()以便不转义特殊字符。 字符串是
Lala*=#&%@<>_?!:;-'"/()¥¡¿
但是当我尝试运行代码时,我收到了这个错误:
UnicodeEncodeError:'ascii'编解码器无法对字符进行编码 23-25:序数不在范围内(128)
我该怎么办?
答案 0 :(得分:0)
尝试http://pypi.python.org/pypi/Unidecode/0.04.1
例如:
from unidecode import unidecode
your_string = 'Lala*=#&%@<>_?!:;-\'"/()¥¡¿'
unidecode(your_string)
请注意我已从字符串中转义字符'以避免SyntaxError
答案 1 :(得分:0)
在运行脚本之前,我已在bash中使用以下命令解决了Debian中的问题:
export PYTHONIOENCODING=utf-8
答案 2 :(得分:-2)
错误说这里有一些字符在ASCII中不存在(它们是unicode) 尝试使用:
newStr = u'Lala*=#&%@<>_?!:;-'"/()¥¡¿'
它需要被声明为Unicode,而不是你的东西 这不太适用于大多数python shell,因此请确保您的IDE可以支持unicode,并且您使用的文件在顶部有一个unicode声明。