Package: perl Version: 5.20.2-6 Severity: normal Consider this:
tglase@tglase:~ $ cat x.sh printf '%s' "[service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit unterschiedlichen" | \ perl -C7 -0777 -Mutf8 -MEncode -e "print encode('MIME-Q', 'Subject: ' . <>);" echo tglase@tglase:~ $ sh x.sh Subject: [service-Aufgaben S&W-Team][#19415] VM'' s aufsetzen mit unterschiedlichen tglase@tglase:~ $ cat x.php <?php $h = "Subject: p\xf6stal foo bar baz foo bar baz foo bar baz foo bar baz"; echo mb_encode_mimeheader($h, "ISO-8859-1", "Q", "\n") . "\n"; $h = "Subject: [service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit unterschiedlichen"; echo mb_encode_mimeheader($h, "UTF-8", "Q", "\n") . "\n"; tglase@tglase:~ $ php x.php Subject: =?ISO-8859-1?Q?p=3Fstal=20foo=20bar=20baz=20foo=20bar=20baz=20fo?= =?ISO-8859-1?Q?o=20bar=20baz=20foo=20bar=20baz?= Subject: [service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit unterschiedlichen See how Perl 5.20 inserts a space between “''” and “s” as per RFC2047 rules: any whitespace between two encoded-words (that’s these “=?charset?Q?body?=” thingies) is discarded, but any other whitespace is kept; the newline between “VM''” and “s” is taken by an MUA as space – instead, it should either encode like PHP does (embarassingly enough, PHP is the only tested language to pass all my RFC2047 tests!), or put both into encoded-words, like: “Subject: [service-Aufgaben S&W-Team][#19415] =?UTF-8?Q?VM''?= =?UTF-8?Q?s?= aufsetzen mit unterschiedlichen”. MUA test: | Subject: [service-Aufgaben S&W-Team][#19415] VM'' | s aufsetzen mit unterschiedlichen (Perl) is shown as | Subject: [service-Aufgaben S&W-Team][#19415] VM'' s aufsetzen mit unterschiedlichen | Subject: [service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit | unterschiedlichen (PHP) is shown as | Subject: [service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit unterschiedlichen | Subject: [service-Aufgaben S&W-Team][#19415] =?UTF-8?Q?VM''?= | =?UTF-8?Q?s?= aufsetzen mit unterschiedlichen (my alternative suggestion) is shown as | Subject: [service-Aufgaben S&W-Team][#19415] VM''s aufsetzen mit unterschiedlichen The good thing about Perl is that, in contrast to Python, it at least gets the line widths right. Related bugs in: libpython2.7-stdlib, libpython3.4-stdlib -- System Information: Debian Release: stretch/sid APT prefers unreleased APT policy: (500, 'unreleased'), (500, 'buildd-unstable'), (500, 'unstable') Architecture: x32 (x86_64) Foreign Architectures: i386, amd64 Kernel: Linux 4.0.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/lksh Init: sysvinit (via /sbin/init) Versions of packages perl depends on: ii dpkg 1.18.1 ii libbz2-1.0 1.0.6-8 ii libc6 2.19-18 ii libdb5.3 5.3.28-9 ii libgdbm3 1.8.3-13.1 ii perl-base 5.20.2-6 ii perl-modules 5.20.2-6 ii zlib1g 1:1.2.8.dfsg-2+b1 Versions of packages perl recommends: ii netbase 5.3 pn rename <none> Versions of packages perl suggests: ii libterm-readline-gnu-perl 1.24-2+b1 ii make 4.0-8.1 ii perl-doc 5.20.2-6 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org