wie kann man in Python die Codepage setzen/verändern.
Habe es schon so probiert:
Code: Alles auswählen
import os
import locale
os.environ['LANG'] = "de_DE.UTF8"
# bzw.
os.environ['LC_ALL'] = "de_DE.UTF8"
# Schreibt ISO-8859-1
print locale.nl_langinfo(locale.CODESET)
Code: Alles auswählen
import sys
import os
import locale
import getopt
import quopri   #   quoted printable
def main():
    iso = "de_DE"
    locale.setlocale(locale.LC_ALL, iso)
    name = ""
    try:
        opts, args = getopt.getopt(sys.argv[1:], "hs:si:s", ["help", "string=", "iso="])
    except getopt.GetoptError:
        usage()
        sys.exit(2)
    for opt, arg in opts:
        if opt in ("-h", "--help"):
            usage()
            sys.exit()
        elif opt in ("-i", "--iso"):
            iso = arg
            locale.setlocale(locale.LC_ALL, iso)
        elif opt in ("-s", "--string"):
            name = arg
            print "%s%s%s" % ("=?" + locale.nl_langinfo(locale.CODESET) + "?Q?", quopri.encodestring(b), "?=")
            sys.exit()
if __name__ == "__main__":
    main()
Code: Alles auswählen
./encoder.py --string "Max Müller"
Code: Alles auswählen
# Max Müller ergibt: =?ISO-8859-1?Q?Max M=C3=BCller?= 
# anstatt =?ISO-8859-1?Q?Max M=FCller?= 
