相关疑难解决方法(0)

使用Python将UTF-8字符串写入MySQL

我试图将用户帐户数据从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 unicode utf-8

35
推荐指数
5
解决办法
6万
查看次数

Python和MySql:Unicode和编码

我正在解析json数据并尝试将一些json数据存储到Mysql数据库中.我目前正在关注unicode错误.我的问题是我应该如何处理这个问题.

  • 我应该从数据库端处理它,如果是这样,我怎么能修改我的表呢?
  • 我应该从python那边处理它吗?

这是我的表格结构

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)

python mysql unicode encode utf-8

28
推荐指数
2
解决办法
6万
查看次数

在SQL数据库中存储阿拉伯语

我试图在SQL 2008数据库中存储阿拉伯字符串,但它转换为"问号"为什么?我该怎么办?

sql sql-server collation sql-server-2008

26
推荐指数
5
解决办法
6万
查看次数

标签 统计

python ×2

unicode ×2

utf-8 ×2

collation ×1

encode ×1

mysql ×1

sql ×1

sql-server ×1

sql-server-2008 ×1