使用python 3和unicode写入文件

use*_*794 6 unicode encode file python-3.x

这是我的代码:

import codecs
filename = "worst.txt"
file = open(filename, "r",encoding='utf-8')
lines = file.readlines()
texte = ""
for line in lines:
    print(line)
    texte += line
file.close()
print(texte)
texte = texte.split(";")
print(texte)
filename = "oudean.html"



file = open(filename, "w",encoding='utf-8')



file.write("<html><body>\r\n")
for t in texte :
        print(t)
        file.write("""<img src="ouedan.jpg"><br>\r\n""")
        file.write("""Une déclaration à faire ?<br>Besoin d'encouragements?<br>Notre brigade d'élite beat agent est là pour vous aider.<br>Faites appel à nous en appelant le  06 et nous accourrons vous encourager dans l'instant.<br>N hésitez pas.<br>Et pour vous aider durant cette soirée, voilà une accroche a tester, succès garanti :<br>%s<br><br><br><br><br><br><br><br>"""%t)
file.write("</body></html>\r\n")
file.close()
Run Code Online (Sandbox Code Playgroud)

但我给了我:

Une'déclarationÃfaire?禁止鼓励?Notre brigade d'élite击败代理商ll pour vous aider.FaitesappelÃousen appelant le 06 et nous accourrons vous encourager dans l'instant.Nhésitez pas.Et pour vous aider durantcettesoirée,voilÃune accroche a tester,succÃ-garanti:

那么如何使用unicode字符串写入文件?

关于Bussiere

jas*_*sso 10

您的症状看起来像普通的"UTF-8作为拉丁-1"问题.

您是否检查了用于查看该文件的软件上使用的编码?我会说问题不一定在你的python代码中,而是在查看器中.

如果Une déclaration à faire...使用UTF-8编码创建包含示例文本的文件,然后使用编码ISO-8859-1或windows-1252读取该文件解释内容,则结果将显示为您所描述的输出:Une déclaration à faire....

此外,在python 3中,默认的源编码是UTF-8.http://www.python.org/dev/peps/pep-3120/

  • +1观众是问题,而不是程序. (3认同)