diff --git a/core/views/expo.py b/core/views/expo.py
index 6076ded..b282b40 100644
--- a/core/views/expo.py
+++ b/core/views/expo.py
@@ -131,11 +131,11 @@ def expowebpage(request, expowebpath, path):
     try:
         with open(os.path.normpath(expowebpath / path).encode(sysdefaultencoding), "r", encoding='utf-8') as o:   
             html = o.read()
-    except Cave.DoesNotExist:
+    except:
         # exception raised on debian with python 3.9.2 but not on WSL Ubuntu with python 3.9.5
         # because debian was assuming default text encoding was 'ascii'. Now specified explicitly so should be OK
         try:
-            with open(os.path.normpath(expowebpath / path), "rb") as o:   
+            with open(os.path.normpath(expowebpath / path).encode(sysdefaultencoding), "rb") as o:   
                 html = str(o.read()).replace("<h1>","<h1>BAD NON-UTF-8 characters here - ")
                 html = html.replace("\\n","\n")
                 html = html.replace("\\r","")