我试图将用户帐户数据从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
我正在解析json数据并尝试将一些json数据存储到Mysql数据库中.我目前正在关注unicode错误.我的问题是我应该如何处理这个问题.
这是我的表格结构
CREATE TABLE yahoo_questions (
question_id varchar(40) NOT NULL,
question_subj varbinary(255),
question_content varbinary(255),
question_userId varchar(40) NOT NULL,
question_timestamp varchar(40),
category_id varbinary(20) NOT NULL,
category_name varchar(40) NOT NULL,
choosen_answer varbinary(255),
choosen_userId varchar(40),
choosen_usernick varchar(40),
choosen_ans_timestamp varchar(40),
UNIQUE (question_id)
);
Run Code Online (Sandbox Code Playgroud)
通过python代码插入时出错:
Traceback (most recent call last):
File "YahooQueryData.py", line 78, in <module>
+"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (row[2], row[5], row[6], quserId, questionTime, categoryId, categoryName, qChosenAnswer, choosenUserId, choosenNickName, choosenTimeStamp))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQLdb/cursors.py", line 159, …Run Code Online (Sandbox Code Playgroud) 我试图在SQL 2008数据库中存储阿拉伯字符串,但它转换为"问号"为什么?我该怎么办?