Set errors='backslashreplace' on whatever charset user has chosen (#1067)

User can set GAM_CHARSET; default is UTF8
This commit is contained in:
Ross Scroggs
2020-01-02 09:05:58 -08:00
committed by Jay Lee
parent 75eec07207
commit 08e790ebbb

View File

@@ -13933,6 +13933,9 @@ def ProcessGAMCommand(args):
GM_Globals[GM_SYSEXITRC] = 0
try:
SetGlobalVariables()
if sys.version_info[1] >= 7:
sys.stdout.reconfigure(encoding=GC_Values[GC_CHARSET], errors='backslashreplace')
sys.stdin.reconfigure(encoding=GC_Values[GC_CHARSET], errors='backslashreplace')
command = sys.argv[1].lower()
if command == 'batch':
i = 2
@@ -14741,7 +14744,4 @@ if __name__ == "__main__":
mp_set_start_method('fork')
if sys.version_info[0] < 3 or sys.version_info[1] < 5:
controlflow.system_error_exit(5, 'GAM requires Python 3.5 or newer. You are running %s.%s.%s. Please upgrade your Python version or use one of the binary GAM downloads.' % sys.version_info[:3])
elif sys.version_info[1] >= 7:
sys.stdout.reconfigure(encoding=UTF8, errors='backslashreplace')
sys.stdin.reconfigure(encoding=UTF8, errors='backslashreplace')
sys.exit(ProcessGAMCommand(sys.argv))