Using Python 3.4.3 on Windows.
My script runs a little java program in console, and should get the ouput:
import subprocess
p1 = subprocess.Popen([ ... ], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
out, err = p1.communicate(str.encode("utf-8"))
This leads to a normal
'UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 135: character maps to < undefined>'.
Now I want to ignore errors:
out, err = p1.communicate(str.encode(encoding="utf-8", errors="ignore"))
This leads to a more interesting error I found no help for using google:
TypeError: descriptor 'encode' of 'str' object needs an argument
So it seems that python does not even know anymore what the arguments for str.encode(...) are. The same also applies when you leave out the errors part.