In Windows, sys.getfilesystemencoding() returns 'mbcs' (multibyte code system), which doesn't say very much imho. So I wrote the function below, which returns the codepage as reported by the windows chcp command. I noticed that the function returns 850 (codepage 850) when I run it via the command prompt, but 1252 (cp1252) when I run it in my IDE (Spyder). Any idea why? Is it a good idea anyway to make this function (no, probably, because Python devs are smart people ;-) #!python.exe #Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32 import subprocess, re, sys def getfilesystemencoding(): if sys.platform.startswith("win"): proc = subprocess.Popen("chcp", shell=True, stdout=subprocess.PIPE) m = re.search(": (?P<codepage>\d+)", proc.communicate()[0]) if m: return m.group("codepage") return sys.getfilesystemencoding() return sys.getfilesystemencoding()
print getfilesystemencoding() Regards, Albert-Jan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a fresh water system, and public health, what have the Romans ever done for us? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor