SCons: Fix Windows silence_msvc logfile encoding

Fix UnicodeEncodeError on cp932 environments by adding errors="replace" to log file open.

(cherry picked from commit b23b0dde9a)
This commit is contained in:
Ruw 2025-09-18 19:32:03 +09:00 committed by Rémi Verschelde
parent e788127654
commit 24bc49d557
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -316,7 +316,7 @@ def configure_msvc(env: "SConsEnvironment"):
if not caught and (is_cl and re_cl_capture.match(line)) or (not is_cl and re_link_capture.match(line)):
caught = True
try:
with open(capture_path, "a", encoding=sys.stdout.encoding) as log:
with open(capture_path, "a", encoding=sys.stdout.encoding, errors="replace") as log:
log.write(line + "\n")
except OSError:
print_warning(f'Failed to log captured line: "{line}".')