Here is my code:
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()
But I gives me:
Une déclaration à faire ? Besoin d'encouragements? Notre brigade d'élite beat agent est là pour vous aider. Faites appel à nous en appelant le 06 et nous accourrons vous encourager dans l'instant. N hésitez pas. Et pour vous aider durant cette soirée, voilà une accroche a tester, succès garanti :
So how to write in a file with unicode string?
Your symptoms look like regular a "UTF-8 as latin-1" problem.
Have you checked what encoding is used on the software that you are using to view that file? I'd say that the problem is not necessarily in your python code but in the viewer.
If you create a file with your example text Une déclaration à faire...
using UTF-8 encoding and then read that file interpreting the contents using encoding ISO-8859-1 or windows-1252, then the result is shown as the output you described: Une déclaration à faire...
.
Also, in python 3 the default source encoding is UTF-8. http://www.python.org/dev/peps/pep-3120/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With