| def __getfilesystemencoding(): |
| ''' |
| Note: there's a copy of this method in interpreterInfo.py |
| ''' |
| import sys |
| try: |
| ret = sys.getfilesystemencoding() |
| if not ret: |
| raise RuntimeError('Unable to get encoding.') |
| return ret |
| except: |
| try: |
| #Handle Jython |
| from java.lang import System |
| env = System.getProperty("os.name").lower() |
| if env.find('win') != -1: |
| return 'ISO-8859-1' #mbcs does not work on Jython, so, use a (hopefully) suitable replacement |
| return 'utf-8' |
| except: |
| pass |
| |
| #Only available from 2.3 onwards. |
| if sys.platform == 'win32': |
| return 'mbcs' |
| return 'utf-8' |
| |
| def getfilesystemencoding(): |
| try: |
| ret = __getfilesystemencoding() |
| |
| #Check if the encoding is actually there to be used! |
| if hasattr('', 'encode'): |
| ''.encode(ret) |
| if hasattr('', 'decode'): |
| ''.decode(ret) |
| |
| return ret |
| except: |
| return 'utf-8' |