Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Loris Bennett" Newsgroups: comp.lang.python Subject: Re: Printing UTF-8 mail to terminal Date: Fri, 01 Nov 2024 07:52:32 +0100 Organization: FUB-IT, Freie =?utf-8?Q?Universit=C3=A4t?= Berlin Lines: 73 Message-ID: <87v7x7o37z.fsf@zedat.fu-berlin.de> References: <878qu49tii.fsf@zedat.fu-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de WQQz/7h4bztscMQmJJEkdwmfQzy9JQzI8xw18e89uegDV3 Cancel-Lock: sha1:gFMXQd4U48qmvDY1Dy1PkTR6FE8= sha1:kaNX/HJJK9mfJ1hGxyKA5Mlr6uU= sha256:UURRQDzZ24pcwYZZjm99ox41pMxlKL8xio+emSddAiA= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) Xref: csiph.com comp.lang.python:196928 Left Right writes: > There's quite a lot of misuse of terminology around terminal / console > / shell. Please, correct me if I'm wrong, but it looks like you are > printing that on MS Windows, right? MS Windows doesn't have or use > terminals (that's more of a Unix-related concept). And, by "terminal" > I mean terminal emulator (i.e. a program that emulates the behavior of > a physical terminal). You can, of course, find some terminal programs > for windows (eg. mintty), but I doubt that that's what you are dealing > with. > > What MS Windows users usually end up using is the console. If you > run, eg. cmd.exe, it will create a process that displays a graphical > console. The console uses an encoding scheme to represent the text > output. I believe that the default on MS Windows is to use some > single-byte encoding. This answer from SE family site tells you how to > set the console encoding to UTF-8 permanently: > https://superuser.com/questions/269818/change-default-code-page-of-windows-console-to-utf-8 > , which, I believe, will solve your problem with how the text is > displayed. I'm not using MS Windows. I am using a Gnome terminal on Debian 12 locally and connecting via SSH to a AlmaLinux 8 server, where I start a tmux session. > On Thu, Oct 31, 2024 at 5:19 PM Loris Bennett via Python-list > wrote: >> >> Hi, >> >> I have a command-line program which creates an email containing German >> umlauts. On receiving the mail, my mail client displays the subject and >> body correctly: >> >> Subject: Übung >> >> Sehr geehrter Herr Dr. Bennett, >> >> Dies ist eine Übung. >> >> So far, so good. However, when I use the --verbose option to print >> the mail to the terminal via >> >> if args.verbose: >> print(mail) >> >> I get: >> >> Subject: Übungsbetreff >> >> Sehr geehrter Herr Dr. Bennett, >> >> Dies ist eine =C3=9Cbung. >> >> What do I need to do to prevent the body from getting mangled? >> >> I seem to remember that I had issues in the past with a Perl version of >> a similar program. As far as I recall there was an issue with fact the >> greeting is generated by querying a server, whereas the body is being >> read from a file, which lead to oddities when the two bits were >> concatenated. But that might just have been a Perl thing. >> >> Cheers, >> >> Loris >> >> -- >> This signature is currently under constuction. >> -- >> https://mail.python.org/mailman/listinfo/python-list -- Dr. Loris Bennett (Herr/Mr) FUB-IT, Freie Universität Berlin