簡體   English   中英

python編碼/解碼問題

[英]python encoding/decoding problem

我正在嘗試使用python的Template對象創建html電子郵件。 但是,當應用程序嘗試發送電子郵件時,出現錯誤:

File "/base/data/home/apps/hanksandbox/1.350486862928605153/main.py", line 573, in post
html = messages.email_document_html(document)
File "/base/data/home/apps/hanksandbox/1.350486862928605153/messages.py", line 109, in email_document_html
description = document.get_description()
File "/base/python_runtime/python_dist/lib/python2.5/string.py", line 170, in substitute
return self.pattern.sub(convert, self.template)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 763: ordinal not in range(128)

錯誤所指向的代碼如下所示:

def email_document_html(document):
email_document = Template("""
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    ${stylesheet}
</head>
<html>
<body>
<h1 id="mainhead">Essays</h1>
<div class="document">
<span class="info">At ${date} ${author} published:</span><br/><hr/>
<a href="${domain}/${author}/document/${filename}/" target="_blank"><h1 class="title">${title}</h1></a>
<p class="description">${description}</p>
</div>
</body>
</html>
""")
return email_document.substitute(
                                 stylesheet=style,
                                 date=str(document.date),
                                 author=document.author.username,
                                 domain=domainstring,
                                 filename=document.filename,
                                 title=document.title,
                                 description = document.get_description()
                                 )

我的IDE使用UTF-8作為其字符集。 我嘗試在文件中添加# coding: utf-8 我嘗試在各種地方添加.encode("utf-8").decode("utf-8") ,特別是在'document.get_description()'之后。 但是我正在抓稻草。

有什么建議么?

隨處使用unicode

email_document = Template(u"""
 ...

“ Python中的Unicode,完全神秘化”

在模板字符串之前放置u ,以指定它應為unicode字符串。 除非另有說明,否則Python <3將類似的字符串解釋為ASCII。

email_document = Template(u"""
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM