Skip to content

Commit d98247e

Browse files
committed
fix: unicode characters in stderr on certain systems - hopefully fixes #1393
1 parent 9ee2828 commit d98247e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

nipype/interfaces/base.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from copy import deepcopy
2020
import datetime
2121
import errno
22+
import locale
2223
import os
2324
import re
2425
import platform
@@ -1258,17 +1259,17 @@ def _process(drain=0):
12581259
stdout, stderr = proc.communicate()
12591260
if stdout and isinstance(stdout, bytes):
12601261
try:
1261-
stdout = stdout.decode()
1262+
stdout = stdout.decode(locale.getdefaultlocale()[1])
12621263
except UnicodeDecodeError:
12631264
stdout = stdout.decode("ISO-8859-1")
12641265
if stderr and isinstance(stderr, bytes):
12651266
try:
1266-
stderr = stderr.decode()
1267+
stderr = stderr.decode(locale.getdefaultlocale()[1])
12671268
except UnicodeDecodeError:
12681269
stderr = stderr.decode("ISO-8859-1")
12691270

1270-
result['stdout'] = str(stdout).split('\n')
1271-
result['stderr'] = str(stderr).split('\n')
1271+
result['stdout'] = stdout.split('\n')
1272+
result['stderr'] = stderr.split('\n')
12721273
result['merged'] = ''
12731274
if output == 'file':
12741275
ret_code = proc.wait()

0 commit comments

Comments
 (0)