From 1c27ec42363515bda97468dccf57a01c6e66d01e Mon Sep 17 00:00:00 2001 From: "Fan, ZhijuX" Date: Fri, 29 Mar 2019 13:53:40 +0800 Subject: BaseTools:Coding problems caused by special characters BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1670 During BaseTools compiling under Chinese or Japanese language Windows, python exception occurring. UnicodeDecodeError: 'ascii' codec can't decode byte 0xbd in position 3528: ordinal not in range(128) Cc: Bob Feng Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan Reviewed-by: Bob Feng --- BaseTools/Source/Python/Capsule/GenerateCapsule.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'BaseTools/Source/Python/Capsule') diff --git a/BaseTools/Source/Python/Capsule/GenerateCapsule.py b/BaseTools/Source/Python/Capsule/GenerateCapsule.py index 7b08918..5ce5dae 100644 --- a/BaseTools/Source/Python/Capsule/GenerateCapsule.py +++ b/BaseTools/Source/Python/Capsule/GenerateCapsule.py @@ -94,7 +94,7 @@ def SignPayloadSignTool (Payload, ToolPath, PfxFile): if Process.returncode != 0: shutil.rmtree (TempDirectoryName) - print (Result[1].decode()) + print (Result[1].decode(encoding='utf-8', errors='ignore')) raise ValueError ('GenerateCapsule: error: signtool failed.') # @@ -132,12 +132,12 @@ def SignPayloadOpenSsl (Payload, ToolPath, SignerPrivateCertFile, OtherPublicCer try: Process = subprocess.Popen (Command, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True) Result = Process.communicate(input = Payload) - Signature = Result[0] + Signature = Result[0].decode(encoding='utf-8', errors='ignore') except: raise ValueError ('GenerateCapsule: error: can not run openssl.') if Process.returncode != 0: - print (Result[1].decode()) + print (Result[1].decode(encoding='utf-8', errors='ignore')) raise ValueError ('GenerateCapsule: error: openssl failed.') return Signature @@ -186,7 +186,7 @@ def VerifyPayloadOpenSsl (Payload, CertData, ToolPath, SignerPrivateCertFile, Ot if Process.returncode != 0: shutil.rmtree (TempDirectoryName) - print (Result[1].decode()) + print (Result[1].decode(encoding='utf-8', errors='ignore')) raise ValueError ('GenerateCapsule: error: openssl failed.') shutil.rmtree (TempDirectoryName) -- cgit v1.1