diff --git a/pysollib/ui/tktile/tkhtml.py b/pysollib/ui/tktile/tkhtml.py
index 9ec71124..3078e72c 100644
--- a/pysollib/ui/tktile/tkhtml.py
+++ b/pysollib/ui/tktile/tkhtml.py
@@ -22,6 +22,7 @@
# ---------------------------------------------------------------------------
import os
+import sys
import pysollib.htmllib2 as htmllib
import formatter
from six.moves import tkinter
@@ -89,7 +90,7 @@ class tkHTMLWriter(formatter.NullWriter):
return Functor(self.viewer, href)
def write(self, data):
- self.text.insert("insert", data)
+ self.text.insert("insert", str(data))
def anchor_bgn(self, href, name, type):
if href:
@@ -161,10 +162,10 @@ class tkHTMLWriter(formatter.NullWriter):
self.write(' ')
def send_paragraph(self, blankline):
- self.write('\n' * blankline)
+ self.write("\n" * blankline)
def send_line_break(self):
- self.write('\n')
+ self.write("\n")
def send_hor_rule(self, *args):
width = int(int(self.text["width"]) * 0.9)
@@ -287,7 +288,14 @@ class Base_HTMLViewer:
if url[-1:] == "/" or os.path.isdir(url):
url = os.path.join(url, "index.html")
url = os.path.normpath(url)
- return open(url, "rb"), url
+
+ def my_open(url):
+ if sys.version_info > (3,):
+ import codecs
+ return codecs.open(url, encoding='utf-8')
+ else:
+ return open(url, "rb")
+ return my_open(url), url
def display(self, url, add=1, relpath=1, xview=0, yview=0):
# for some reason we have to stop the PySol demo
@@ -324,7 +332,7 @@ to open the following URL:
file = urllib.request.urlopen(url)
else:
file, url = self.openfile(url)
- data = str(file.read())
+ data = file.read()
file.close()
file = None
except Exception as ex: