Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126892 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 18FFE1A00BC for ; Fri, 21 Mar 2025 11:22:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1742556025; bh=zXqKpa5GDLbXxEuv/a1TtM8KHom2CIjhQOULeqt1vSc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=eyYAzKd1BZhcvjifrHbcdCtLR+rj3h5Ps7k6FpxZqRYnqPQCDBVELQbzJ+qzQJg2H Tqrq1VuoQg1ZKAuK2PZxW2EJjJ8ZlYE2XZj0U0wzjOPtFtEKqJbxNH1nlMfORyy05s pxVZ4xqpN7ru+aCJ29h/z5+dAg8LdLWDP6AjA0lPxlOSSuLjDzGHR1p6Ifr8aMx0Wj mxm1pE2mErJ+eo0Ul/ev9tPw1cS1a+ittrMTVYviWNUiGyKX3j8AsnF0Awmoj4AVoe 1FoMnWgB1wgl6H0KvQc/4lSkX+CZZyrk84K5ETKjVaj4ou5BCP8rFs8DDL8MtS3Bnn mm8XH+Hk8A3lw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 513721806E2 for ; Fri, 21 Mar 2025 11:20:23 +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.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (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 ; Fri, 21 Mar 2025 11:20:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1742556170; bh=UUusap/oeTKt14KGs5BoBYq0MI3HEzSweokbwTAkHf8=; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:Content-Type:from:to:cc:subject:message-id; b=S+a7sSM4DR71AxOzudLvf+IETYS8MYebywIffFdX1EoitcdvK/ki2jDqDQrsZ5QFQ JC2hOQOWHEB/3JZq/UY94yqq/jFaQjL9eL4G2AjU4/XaNAd7gjpwTZlSCCIYYR3cik tynlOM1GMyLKTcfynwLU3Wqt8uVTXpKbUJxKqURCCmLIAwo0/Bs37sKdxjowGLJc1C Nte/v/wKGYQ9MxIbENXMwdZjJf9E5qmKFBu/7lMDGs9QhZxM8OzTOPncHI+9KhAgpU yW/coPX/nMn9SJcBidyrSBNDdg0zP8ASRLo4R824DGp9toZ1Z0x0BbB7BNp6XOUV9X rGUYQM4oVpVrA== Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Fri, 21 Mar 2025 12:22:50 +0100 To: "Paul M. Jones" Cc: PHP Internals List Subject: Re: [PHP-DEV] Potential RFC: mb_rawurlencode() ? In-Reply-To: References: Message-ID: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi Am 2025-03-18 18:48, schrieb Paul M. Jones: > $iriPath = '/heads/' . rawurlencode($val) . '/tails/'); > assert($iriPath === '/heads/fü bar/tails/'; // false From my reading of RFC 3987 that result is incorrect. The space is neither listed as `iunreserved`, not as `sub-delims`, thus isn't a valid `ipchar`. Thus the space needs to be encoded as %20 for IRIs as well. The same mistake applies to the reference userland implementation below. Best regards Tim Düsterhus