Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125011 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id ED2991A00BD for ; Sat, 17 Aug 2024 00:03:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1723853092; bh=XTuLFUosZSB4GmEx1x8RiVqnMZ4UM91kPOY0w9oyxSs=; h=Date:From:To:Subject:In-Reply-To:References:From; b=UP4O9L5vDOH+gtUcMftRyOTzfJTDyTwTVI25/Zc59XilTBy5dmLVe7AQ3NjkRC+2p 7wmIw2JQCE3v3M48roftsK+Tbfws7sBvSKWJl5qmNHoK+2HCW2wQsiECkxK+fh+yFg OHr8SVNZvySJmDw/3ehg6cW45sdWvto5cSRatvDTlUzxj27P0GPyfo82If9VioIqpv zLbH2ckxT7FwzkWRqaLtxWiHI7A4PXIicPkMYJMfCsSU0VjSUmAO2PX7FUqoCLmm0V FMLmIMzPF3JjI/RclBZFnJNkd/IK4et/OQPd3Z4fKRsAHMrF7CpuhyV7TS3omm3nbt bEvgbEopA2L8g== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0D00A1801E1 for ; Sat, 17 Aug 2024 00:04:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh3-smtp.messagingengine.com (fhigh3-smtp.messagingengine.com [103.168.172.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 17 Aug 2024 00:04:47 +0000 (UTC) Received: from phl-compute-03.internal (phl-compute-03.nyi.internal [10.202.2.43]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 4CF0F114AA1F for ; Fri, 16 Aug 2024 20:03:00 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-03.internal (MEProxy); Fri, 16 Aug 2024 20:03:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rwec.co.uk; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1723852980; x=1723939380; bh=eDR0PH/PiTriGGv59xydlI4r3O26zLhxkmrsMceCAZ0=; b= sxEC+C+pnQGxxTgdLgf7Nj/5LNB6CgQXcBrtQoF0lNnM+i8LvPXavanbULe/9ft0 8m0EA8TVjqbVFQxdYNRE8mXPg5ickEPAZXE7U2kzjpHDCXEfWFcXUhPp9zuqUaCw reGNcNMwo7bMKV0n6HFLTgh7pp58lAswFzmQd5tFY9J6wVuWsMsozi2S9lXEGoeX YWtR+bpz/+NdNsjTPiwPOP0zBPYvm87WfqwYG1sWEeq1h8tcmF63Nyupthig1/c8 hWwMVs5otOcVuldsPdUflWpM52tgeqV0JYohTk97NCKyUA3BTulwkBegTlPmBQMy 8w3lSK3Q+Zc+qgpyGyKCHw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1723852980; x= 1723939380; bh=eDR0PH/PiTriGGv59xydlI4r3O26zLhxkmrsMceCAZ0=; b=I DDI1RNcp0ekdY1YnUHMezK0UAw4r13Eq7HJGEj2ytciep7DI6Ae1TnVoi94IVVh3 +BixzuXmMu/J3giZ5WKHuEsT4j/NexZXNrsp5haNzQSjwETBiVkt/97itJs2+6N8 Yz+3YdArC9ZvcbsFhs7cmAkhmXo3XXL1TnxcMiT+OfCbZDPAN7xysn3qpy1UZDch /AfLDqtwVj7L18EoiRE509skjS1I9yRc9wTtcHhEiCF/rD7d8jj1FSJpX+XUO8xE GPTleXUpYK4Yax4MkK7poE620wG2MzbRSOnm3Vc/FNjF1Q74yRnepHhE/72ifYFV E52HWKvfBcxQzJ6g6QvYQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddtledgfeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuf gfjghfkfggtgfgsehtqhhmtddtreejnecuhfhrohhmpedftfhofigrnhcuvfhomhhmihhn shculgfkoffuohfrngdfuceoihhmshhophdrphhhphesrhifvggtrdgtohdruhhkqeenuc ggtffrrghtthgvrhhnpeehleffteeigfevudetfedugedtudevledugeeugeelheeihfeh gfdtkeevvefgleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehimhhsohhprdhphhhpsehrfigvtgdrtghordhukhdpnhgspghrtghpthhtohep uddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsheslhhish htshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: id5114917:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 16 Aug 2024 20:02:59 -0400 (EDT) Date: Sat, 17 Aug 2024 01:02:59 +0100 To: internals@lists.php.net Subject: =?US-ASCII?Q?Re=3A_=5BPHP-DEV=5D=5BDiscussion=5D_Should_All_S?= =?US-ASCII?Q?tring_Functions_Become_Multi-Byte_Safe=3F?= User-Agent: K-9 Mail for Android In-Reply-To: <37013714-371C-4871-9E15-FE91657A662B@newclarity.net> References: <1AFE8300-D363-43D8-A989-15D001B9879C@newclarity.net> <270D6057-626D-4720-B44A-3CB7A7B9320B@newclarity.net> <37013714-371C-4871-9E15-FE91657A662B@newclarity.net> Message-ID: Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: imsop.php@rwec.co.uk ("Rowan Tommins [IMSoP]") On 17 August 2024 00:25:13 BST, Mike Schinkel wrot= e: >I am not sure I agree with you that adding Unicode support is the wrong a= ngle, per se=2E=20 > >A strong argument could be made that Unicode support is a necessary but n= ot sufficient building block for "internationalization support=2E" IOW, if= you want to get to the latter it is probably a lot easier to start with th= e former as the scope of the latter is by-nature larger=2E After all, perfe= ct is the enemy of the good and waiting for a full-press effort for interna= tionalization support could well push off Unicode support long down the roa= d=2E Again, that's not really what I intended to say, but I'm probably not expr= essing myself clearly=2E I was thinking about the way we frame the conversation, the words we focus= on, and how that shapes the conversation=2E The example that keeps coming to mind is password_hash/password_verify=2E = It seems to me that for years, the conversation was framed around "cryptogr= aphically safe hashing functions", and teaching users why and how to use po= werful but confusing functions like hash() and crypt()=2E Then it got refra= med from the point of view of a web developer wanting to implement logins, = and we ended up with fantastically easy to use functions=2E=20 In the same way, I think "Unicode support" should be the awkward backgroun= d work that we do *because we're trying to solve specific problems involvin= g text*=2E=20 In the case of this thread, I think the actual user story is "I want to al= low users to enter a wide range of characters, but restrict them in context= ually appropriate ways to ensure various types of safety and security"=2E T= he implementation of that involves a lot of technicalities about how Unicod= e works, but ideally we want to find meaningful abstractions of those techn= icalities, not just require every user to understand them=2E (PS I think I accidentally called you Rob just now; sorry!) Rowan Tommins [IMSoP]