Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117103 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 16938 invoked from network); 21 Feb 2022 15:02:31 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 21 Feb 2022 15:02:31 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A7E331804D9 for ; Mon, 21 Feb 2022 08:21:46 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8560 212.227.0.0/16 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 21 Feb 2022 08:21:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1645460503; bh=b4F6fQZJjI4CXhQXnrRjAsXb7CAeiTNZYaIkZnjyiu8=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=X9suBHqtqEJGE++hr3PxndEwnSzBNMsfSjFz4CHK3IZBrMQTjXuppKcAmhWXJeIH0 42dZvAtHoiM94amSL72HC7Vyib5d9idYchkpiuGKoquFl/C7vz9vF6/BgOcNfIrCRN 3ZemhOSyY+ibNsBK3fRxLuQKTc6VZmLQr56U8gMw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.2.130] ([79.220.67.100]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1My32F-1oAxbs0nbb-00zXUa; Mon, 21 Feb 2022 17:21:43 +0100 Message-ID: Date: Mon, 21 Feb 2022 17:21:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Content-Language: de-DE To: Craig Francis , Rowan Tommins Cc: PHP Internals References: <22242169-a16d-5261-696c-3cf00b00336a@gmail.com> <93e83a99-8f03-b823-1b4b-a10519d41dd7@gmail.com> <64095373-f73b-0231-dbd2-3b3271ab0e96@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:3LEaj/V7I9qndC31I3jYRyPxZUM85QlJXQHWLpb0Z4YdgefMmPJ 8GTzImceRwsWIYTAM4+UggwDsFa5hu9skvkGwxxn7cGxXp3pEN8wglSMaBDk0b2YWQiC27R VcxrKEwrbA7TVeQrE+pjAPKhyqRnv1CX9Jf/bFeRNgxE6TJVwNEkTz2cbI82f1ci+8MzIty HNsTmBypdHWBCUOWD9oPw== X-UI-Out-Filterresults: notjunk:1;V03:K0:rNXfsFuSAjI=:CRG6sAdONpp3ZcSjlTPhj4 /iQoYb6BVMmy6xvs5R0b/bS4/Qa9ccf3yOykVaRHJ8dojR0Vw+ECu4D9z3rFjQNQMHb2aGwsO jzEY+Sfg8yLZWtJSoZQQqGzsqpG4DE0HnWi4akomh0IgEmMUN8M49sWjYVofTN1biMl1N/eer 777QVIj0JfU3Om/C7Ae9IAIK8assHnlAoCfsNj7iPHjExRcHcqmt1ifRxINOkSqhD7tCJleXo xssnYbozJ9NYtU2gFHkT9W9U81XceURP08lKyyVJm3K9VYOhjm0HxbPRYNbZNiKHcBjw87QRy J9MC8UUg85cDYmnWvB4DmzKAFR2YB4zr0DU1VMZbEGKXMHwKz+wunhs4eJ/4vbah7nybs4KOH wjdd1YxyHmk1vT2eKBdKjuj/ZFXSvPnZmRdhW+cWh0+TTKutQohT5y7/wdMug54TQ0cT6eLoy dmo0iIduiXgwOzpuUuymgysIEy+Vdw8Kwsx9JvcmAy3ksY8UvyEmBjVx8E6j+Tt/Zg4+QlNjT /2MBL9NLTyBvFXUsnqPcBCxOB9fLfTI670MCB7JRLAofQ4H9+LOJfu39p1NG0reN5fkZb7x3K w4KuYxtFHwd+44Vo6HjcsTOXmXGHHnIa2Ig4W0bxLRAzMCV0ypoy/IPfv1A8cTq3SBJSVqAm4 0IraVviz5Q93gm7n4LbzFyUvmzgG9lDRzZ0NgSBsh96U/HfIQpSeGn8cnyPJvmIi/AbqJ/mLt Db14WHnXx+OKQgRuoNyIpfZcJNP8J569sVXFVEGVsWHhWc5TyPZ5qwqqfwqqW4kRQwcr7JXta Bwnb4W8j1+UA7hcdnRPQ9x/5LEwmxORhSSsmo9F8Phn/vDgjKT7QFbQwkkq5tWLfqMm03LUaC NzQP5rHXpW+AVDRf7SMTRChvpJ8VyNNUtTgc/P8T4x25sF2cdao5dqezCDSxcmAyARCWDdLu2 1uqfbGrDNBKganFzZmOjRYcYiTDx7RNwT6bmOuHsnJDwrN56nQnleoRE/2Pz5BGuRERNVCwee CmGGiuRbR+i26sTZjougPWIWLGJxetQunx3886OAEvV9HfjhrVthOzINyqG9z9+9KQ+bUpNB6 8EaHJM6rVqxrDI= Subject: Re: [PHP-DEV] [RFC] Deprecate and Remove utf8_encode and utf8_decode From: cmbecker69@gmx.de ("Christoph M. Becker") On 21.02.2022 at 16:52, Craig Francis wrote: > On Mon, 21 Feb 2022 at 09:09, Rowan Tommins wr= ote: > >> Making the extension always available (impossible to compile without it= ) >> is a potential option, and I think has been suggested before; I'm not >> sure of the exact pros and cons. >> > > [...] > > I would personally encourage everyone to have ext/intl installed and use >> grapheme_strlen() instead of mb_strlen(), because knowing whether a >> particular instance of the string "Nguye=CC=82=CC=83n" is written with = 6, 7, or 8 >> code points is not nearly as useful as knowing that it looks like 6 >> "characters" to a user either way. > > Good point. > > I would like something that can be relied on to convert a strings charac= ter > encoding... I assume it's a question of ext/mbstring having all of its > dependencies already present (easier to compile?), vs ext/intl potential= ly > being more useful (if a little bigger?). We cannot make any extension with external dependencies mandatory. If we would require ext/intl, we had to bundle ICU, which is highly unlikely to happen. Making ext/mbstring (without ext/mbregex) mandatory would be an option, but there should be a separate RFC about that. =2D- Christoph M. Becker