Yes, you are right, it should be unicode but there is a problem (bug?) when using windows and python 2.x:
http://changilkim.wordpress.com/2013/03/10/some-python-subprocess-popen-tips/
http://bugs.python.org/issue19264

I tested the subprocess.Popen in both linux and windows and the problem is only with the combination of win + python 2.X (in python 3.X is fixed).

I'll update the code for using unicode (requires a minor fix) and I'll put the hack only for win+py 2.x.