Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93649 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 44788 invoked from network); 31 May 2016 07:42:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 May 2016 07:42:19 -0000 Authentication-Results: pb1.pair.com header.from=andreas@heigl.org; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=andreas@heigl.org; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain heigl.org from 195.191.240.18 cause and error) X-PHP-List-Original-Sender: andreas@heigl.org X-Host-Fingerprint: 195.191.240.18 hos109.unaxus.net Received: from [195.191.240.18] ([195.191.240.18:37546] helo=hos109.unaxus.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FF/D6-26200-8504D475 for ; Tue, 31 May 2016 03:42:18 -0400 Received: from heigl.gw.tgnet.de ([80.72.250.242]:50227 helo=wdv-hg-0C07-zX4090-HeiglAndreas.local) by hos109.unaxus.net with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.87) (envelope-from ) id 1b7eJX-003Pss-MU; Tue, 31 May 2016 09:42:11 +0200 References: <7b80be21-b397-c40c-8e80-ff4da4f97634@gmail.com> Cc: Sara Golemon , Stanislav Malyshev , Sammy Kaye Powers To: PHP Internals Message-ID: <96218490-b14c-cf89-ef6e-0812122b90a2@heigl.org> Date: Tue, 31 May 2016 09:42:12 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms070401060508050705080704" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - hos109.unaxus.net X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - heigl.org X-Get-Message-Sender-Via: hos109.unaxus.net: authenticated_id: a.heigl+heigl.org/only user confirmed/virtual account not confirmed X-Authenticated-Sender: hos109.unaxus.net: a.heigl@heigl.org Subject: Re: [PHP-DEV] PHP's handling of BOM (byte order mark) From: andreas@heigl.org (Andreas Heigl) --------------ms070401060508050705080704 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi All. As the BOM is only relevant on UTF-16 and UTF-32 encoded files and UTF-8-encoded files are strongly discouraged from having one[1] - (Use of a BOM is neither required nor recommended for UTF-8) there are two questions that arise IMO. 1. Does PHP support Files encoded in UTF16 or UTF-32? If so, we need to handle the BOM somehow. If not, is that a requirement? 2. Wouldn't it be an easier approach to have a userland-lib that scans files for a BOM and raises a warning? Like have an add-on to php-cs-fixer or something like that? Especially the UTF-8 BOM (\xEF\xBB\xBF) right at the start of a file would be easily to spot. Just my 0.02=E2=82=AC Cheers Andreas [1] www.unicode.org/versions/Unicode5.0.0/ch02.pdf#page=3D30, Am 31.05.16= um 05:52 schrieb Sara Golemon --=20 ,,, (o o) +---------------------------------------------------------ooO-(_)-Ooo-+ | Andreas Heigl | | mailto:andreas@heigl.org N 50=C2=B022'59.5" E 08=C2=B0= 23'58" | | http://andreas.heigl.org http://hei.gl/wiFKy7 | +---------------------------------------------------------------------+ | http://hei.gl/root-ca | +---------------------------------------------------------------------+ --------------ms070401060508050705080704 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC BawwggWoMIIDkKADAgECAgMPT+kwDQYJKoZIhvcNAQENBQAweTEQMA4GA1UEChMHUm9vdCBD QTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNp Z25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcwHhcN MTQwNzIzMDkzMjQ5WhcNMTYwNzIyMDkzMjQ5WjBcMRYwFAYDVQQDEw1BbmRyZWFzIEhlaWds MSAwHgYJKoZIhvcNAQkBFhFhLmhlaWdsQGhlaWdsLm9yZzEgMB4GCSqGSIb3DQEJARYRYW5k cmVhc0BoZWlnbC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn6XLcWFLD vAXgllUikBAU2Rv63m7ZKP+ZU/2HTWDW0BJ2muK7GD3cGZxbKKosO6l6PSqqmLqUJ8G6b/85 iPQmNL5z+LG/+wt/p31SOMAWc5UA7CJAQ9pivUCcV+Yt0LzoxWO5ME2rEZ/ioB2tXMilkJLM U4f5A9m3YZVSKj3xbM7rIpQEZiK0TrZ4MchTwPMdAwBLBxCoAztcg4Yj4qKd+IQLff0Ldhc5 3tc9b+XT7YzWLY5rQKHE+hKqIAdvYfqqKQZFHBBXptSXUXBeYK5a4UT0fpnMP7toqr/9mLlK +FvDNeVwSo5I/abiqdek1lH0/xwYy9im8k4SRtLTAp7hAgMBAAGjggFUMIIBUDAMBgNVHRMB Af8EAjAAMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91ciBvd24gY2VydGlmaWNhdGUgZm9y IEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzAOBgNVHQ8BAf8EBAMC A6gwQAYDVR0lBDkwNwYIKwYBBQUHAwQGCCsGAQUFBwMCBgorBgEEAYI3CgMEBgorBgEEAYI3 CgMDBglghkgBhvhCBAEwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2Nz cC5jYWNlcnQub3JnMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9y ZXZva2UuY3JsMC8GA1UdEQQoMCaBEWEuaGVpZ2xAaGVpZ2wub3JngRFhbmRyZWFzQGhlaWds Lm9yZzANBgkqhkiG9w0BAQ0FAAOCAgEAlG1bUuar9u5ONtedFR7UHp7MNa5Lnu+VzQ6IQAg+ ghXlHdLqU2V2R8BaWCFlaCCkGqX8Od5Z0XpAKfHlfbVMV7vRZBqhnzwe28+QqcI47pzawaBo DFNjS138orZEOPW88S8JcTsoUfy57U7z/4tSjYwCFKmLFQLLPWt/TzhrPWCgdg5PANSTELnH YGy5cA66pbGRp9B/ofHOpAxW4mQPGPEcXHZpkkna4034PkPKGyGg24YTqS+0zVPrXiEemKY8 f7vuSnvnHTQc61Ubk091UGI0dUUJeEncEDR1G5uTzTLdk+5/J6O2CA3gpCMjmAdly7p2WzrX 9LEWJ5f+VvkE/NzerPZyOdC1HTRvQAHkpxewyg4u8MHjBhakVXBLzOVSoEOd6ttSvquSyUU/ 1hhDuKZaz3kBnGpyhlnY3ZqN7mhF15XcD//C8kKAe6rDF7+asKIQV59GAkyeTSBGFt0eceqQ bD/gcGWWfPZK6jTLVFvr1eXERLF9MPoA0+JdfpzjfC9shfVfAjLBI97MGKzpXBR8B9GT+ieY yUM101/vsb6mne6nTtj9cIf74S4T6yEFL5+Oi2JsVDgh0mSKNiFLfZvLFJOfyF2KctGIS1Jv mjJU8CznFdd7Z9psgoaXk2HwvgJXkfKBCW1RdrzdyXrGVymqEyGVqiG5gZ0iC1ZfFRcxggOx MIIDrQIBATCBgDB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNh Y2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG 9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZwIDD0/pMA0GCWCGSAFlAwQCAQUAoIICATAYBgkq hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNjA1MzEwNzQyMTJaMC8G CSqGSIb3DQEJBDEiBCDaE5GUhVx+ehTuGV1ZFFMmqbmk1RT2QwPvh2655KsXpzBsBgkqhkiG 9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZI hvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGRBgkr BgEEAYI3EAQxgYMwgYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3 dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJ KoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAw9P6TCBkwYLKoZIhvcNAQkQAgsxgYOg gYAweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3Jn MSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJz dXBwb3J0QGNhY2VydC5vcmcCAw9P6TANBgkqhkiG9w0BAQEFAASCAQBp69SpeFIoTP4wKvzq hYoTllXVAeF1x1aVwbhfVmmH5Uqbh3h/IwzvtNsuEV86pJiFIbj5A56/tLYb5fXzR4lcXaG2 Vq7dguXDIsYZwtOK3R45TVTmIuwj3OpBRQnLpiQ1tQPwLtcuW22fiswkjjJBtjHnVOtAidPW /WHdT5MFjjmCihWpnGp8o9uxtdzBpg7KWWEpAFupkq/4yv2hiY4vbq89ZPh2LVmjGG4ZE/ZH rfMGf5fo5Kq8Dt5Xem674U9jDGVAohxXj/9RrddYNCDlSpUnckLKXik8Fgm4fJAkVl483Ymq RJ+GDdlOYygKpNtCnLz3/O/QsuI4y0XTQ8qSAAAAAAAA --------------ms070401060508050705080704--