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?=