diff --git a/kiauh.py b/kiauh.py index 85e041c..ff930a4 100644 --- a/kiauh.py +++ b/kiauh.py @@ -9,13 +9,7 @@ # This file may be distributed under the terms of the GNU GPLv3 license # # ======================================================================= # -import io -import sys - from kiauh.main import main -# ensure that all output is utf-8 encoded -sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8") - if __name__ == "__main__": main() diff --git a/kiauh/main.py b/kiauh/main.py index 7844505..e3e635c 100644 --- a/kiauh/main.py +++ b/kiauh/main.py @@ -6,15 +6,24 @@ # # # This file may be distributed under the terms of the GNU GPLv3 license # # ======================================================================= # +import io +import sys from core.logger import Logger from core.menus.main_menu import MainMenu from core.settings.kiauh_settings import KiauhSettings +def ensure_encoding() -> None: + if sys.stdout.encoding == "UTF-8" or not isinstance(sys.stdout, io.TextIOWrapper): + return + sys.stdout.reconfigure(encoding="utf-8") + + def main() -> None: try: KiauhSettings() + ensure_encoding() MainMenu().run() except KeyboardInterrupt: Logger.print_ok("\nHappy printing!\n", prefix=False)