我试图将用户帐户数据从Active Directory推送到我们的MySQL服务器.这完美无缺,但不知何故,字符串最终显示变音符号和其他特殊字符的编码版本.
Active Directory使用以下示例格式返回字符串: M\xc3\xbcller
这实际上是UTF-8编码Müller,但我想写入Müller我的数据库M\xc3\xbcller.
我尝试使用此行转换字符串,但它会在数据库中生成相同的字符串:
tempEntry[1] = tempEntry[1].decode("utf-8")
如果我print "M\xc3\xbcller".decode("utf-8")在python控制台中运行输出是正确的.
有没有办法以正确的方式插入这个字符串?对于想要拥有这种格式的Web开发人员,我需要这种特定的格式,我不知道他为什么不能直接使用PHP转换字符串.
附加信息:我正在使用MySQLdb; 表和列编码是utf8_general_ci
在我的python脚本中,我从一个我没写的函数中得到了一些字符串.它的编码各不相同.我需要将其转换为ascii格式.这样做有一些万无一失的方法吗?我不介意用空白或其他东西替换非ascii字符......
我下载了一个 facebook 消息数据集,它的格式如下:
f\u00c3\u00b8rste student
它应该是,første student但我似乎无法正确解码它。
我试过:
str = 'f\u00c3\u00b8rste student'
print(str)
# 'første student'
str = 'f\u00c3\u00b8rste student'
print(str.encode('utf-8')) 
# b'f\xc3\x83\xc2\xb8rste student'
但它没有用。