使用unicode编码字符串的Python

2024-09-30 06:18:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在我开始问我已经看过的任何东西之前(Working with unicode encoded Strings from Active Directory via python-ldap)。你知道吗

基本上我有一个web表单,用户可以在其中提交数据。 举个例子

我可以提交“(nicht verfügbar)”很好,当我转到数据库时,我可以看到“(nicht verfügbar)”

mysql> select * from tr_values where idvalues = 8905 \G *************************** 1. row *************************** idvalues: 8905 valuename: (nicht verfügbar) idkeys: 584 idvers: 1 idlangs: 5 1 row in set (0.00 sec)

但是当我刷新页面时,我看到

对于我的更新查询,我使用这个。 分贝=mysql.connect连接(dbhost,dbuser,dbpass,dbname,使用\u unicode=True,charset=“utf8”)

对于我的读取查询(在页面上呈现数据) 分贝=mysql.connect连接(dbhost、dbuser、dbpass、dbname)

现在,如果我在read查询上设置字符集,我的脚本将中断,如果没有设置,那么我将看到this“(nicht verf thegbar)”。正如我提到的,submmiting数据工作正常,但是显示数据(从db读取)似乎不工作,而且似乎编码不正确

  1. Python 2.7.3版
  2. 将os、cgi、MySQLdb作为mysql导入
  3. 内容类型:text/html;charset=UTF-8\r\n
  4. meta http equiv=“content type”content=“text/html;charset=UTF-8”>

mysql> show create table tr_values \G *************************** 1. row *************************** Table: tr_values Create Table: CREATE TABLE `tr_values` ( `idvalues` int(11) NOT NULL AUTO_INCREMENT, `valuename` text, `idkeys` varchar(45) DEFAULT NULL, `idvers` varchar(45) DEFAULT NULL, `idlangs` varchar(45) DEFAULT NULL, PRIMARY KEY (`idvalues`) ) ENGINE=InnoDB AUTO_INCREMENT=9986 DEFAULT CHARSET=utf8 1 row in set (0.00 sec)

顺便说一句:我不会说德语。我希望我已经解释够了。你知道吗


Tags: 数据textdefaultmysqlunicodenulltrrow
1条回答
网友
1楼 · 发布于 2024-09-30 06:18:45

好的,我可以通过以下步骤来修复它

在我的读取连接器上添加“use\u unicode=True,charset=“utf8”

然后在这里生成数据adding.encode('utf-8')

valuename=行[3]。编码('utf-8')

希望这对其他人有帮助。你知道吗

相关问题 更多 >

    热门问题