test_ci_select: read sources as UTF-8, not the locale's encoding

Under LC_ALL=C the ASCII codec raises UnicodeDecodeError on seven tracked sources the suite reads, before any assertion runs.
diff --git a/test/hil/test/test_ci_select.py b/test/hil/test/test_ci_select.py
index c8e3fc3..8028e5a 100644
--- a/test/hil/test/test_ci_select.py
+++ b/test/hil/test/test_ci_select.py
@@ -31,7 +31,8 @@
 
 
 def _read(path):
-    with open(path) as f:
+    # Fixed encoding, like ci_select._read: a non-UTF-8 locale would fail on tracked non-ASCII bytes.
+    with open(path, encoding='utf-8', errors='replace') as f:
         return f.read()