diff --git a/generateChangemarks/generateTOC.py b/generateChangemarks/generateTOC.py
index deada950edab3e199c975489a300523088896b32..a60d022f325035e34b3eef4f87ef94b0c030e8bd 100644
--- a/generateChangemarks/generateTOC.py
+++ b/generateChangemarks/generateTOC.py
@@ -61,7 +61,8 @@ def processDocument(args:argparse.Namespace) -> None:
 
 	# Read the document
 	headers:list[Tuple[str, int]] = []
-	with open(args.document, 'r') as f:
+	# Note: We use utf-8 and replace errors to avoid problems with special or unknown characters.
+	with open(args.document, 'r', encoding='utf-8', errors='replace') as f:
 		document = f.readlines()
 		for line in document:
 			_l = line.strip()