diff --git a/tools/tinytest-codegen.py b/tools/tinytest-codegen.py
index 5339972cd4a05e82b62aa83311a1f4dc5aefe1af..ad3b3bbec9508c7a5d38823cbef6e74d74ae68b5 100755
--- a/tools/tinytest-codegen.py
+++ b/tools/tinytest-codegen.py
@@ -106,4 +106,5 @@ testgroup_members = [testgroup_member.format(name=group) for group in [""]]
 output.append(testgroup_struct.format(body='\n'.join(testgroup_members)))
 
 ## XXX: may be we could have `--output <filename>` argument...
-print('\n\n'.join(output))
+# Don't depend on what system locale is set, use utf8 encoding.
+sys.stdout.buffer.write('\n\n'.join(output).encode('utf8'))