Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122131 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 42508 invoked from network); 6 Jan 2024 02:53:36 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 6 Jan 2024 02:53:36 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1704509648; bh=kZ+QXurvwK5Ac/d2raF6m3ioCMi5u6/sf+ANGY/2GbU=; h=From:Date:Subject:To:From; b=V9QW6NSuBMMnyw6ULW/Xd9Ac+TXhl0l2POm2YZLHlsNZM7ZV9LqLWVr4SunOgC/QR Lqg0JzSM/rDGd7M0LKTBiMTK/hV5e9cKSiumorSd/ZehSTuUF8zxVP9frVlUuTyBbe WQjfvIvlLE3JbKOdpbMJxf3X2mRgSsI4pt4aWD56TP2a/WU/2Te9yCrsrP9eyBq6Wo 8ACH65MQi6ghV5rOHSIEfMXtP2gtBC2EPtgbtuK4gfJ9GVGchbW6s6PMB/cqGA7Wq2 PFcRwhvl9TG3JylvQ1ou9PLqfnu8WO7/Lz8/vp6ziyYfIRJvBuGvBxxYcBDLn+cUk0 hZ+wwQO+GtOjA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id BF812180059 for ; Fri, 5 Jan 2024 18:54:07 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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, 5 Jan 2024 18:54:01 -0800 (PST) Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-33748c4f33dso152148f8f.1 for ; Fri, 05 Jan 2024 18:53:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704509607; x=1705114407; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=+Knf0zbZLCJSPLLTE3E0lh2e/37qFwAr2cc9XYNdEo0=; b=F0lh+tTeo/+ke5YlX2CURwurvQ04lllDw86GOB6ueCnTeXvCzbVEZGFk+2MLW+50Vu X9XAk8Ogli8HDuf2f/rAbr7SzhldG3+eKha/izlI6JXM3xiYZaDPXDLnluAb+KOOKIib cu+OxkDwyix1SYI2+aWSc9KcxvLRLesgymTq+L/uLsCTw+ThZtbf/C2JR+ysPGmo1YJY Z/qWuuIcy/WlQEB9dFIjixYpUgBNTXGkLMk6zsSeaRUhP3Q5U4zgROMe4t/pwokgDpRC NAi64zeDypZZWMqC/9BgAzyym3A0OJovHZSglC130NrWqU813SsL9ru2kQKxxJwM3pdy QqIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704509607; x=1705114407; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=+Knf0zbZLCJSPLLTE3E0lh2e/37qFwAr2cc9XYNdEo0=; b=knmSr2H0hKbfD1iQTMw4n6bE8QaRs0cZVxXpEageBcEw4Ue2E4okejZLHlLxtLJ0fj rBG9e/XRYeyTmGfYQAhcWC0xGDBF+UjR56lBGC13R+oTRKzHL9jHmrGD1CTOW9jXsiFR ZcfJbarFlejB4Lmml9REXhkPSGOOdsc2B4jKeI5TTmBe+s5ZJxKgS0HH1kRAKHTAj41h dlfExoB2kHvJIkSFMNSgbi5Yh8GHAinTik9Ocf37w0veRP4envmUlI7cvzfHJZpx3QEH Lz1fkvaKzUY26+rmQP9mfaIUremT18KEbENuLl3xqAqreapOA92Ot9B3snyBwkF2SZbW kXFw== X-Gm-Message-State: AOJu0YwdE1tYasr2R5ouUszEr9ZVW9apt5WqttsyffxfQVvQw5QnMGTA XLHkoB74oTII4Nesqy8vrEn67llBF2lDL6623yuWF9tMOg== X-Google-Smtp-Source: AGHT+IGVp57OhWoETmrYtRQOfdjBZvyTtKWGLMTqTroGvAuJVXU7mL4mTfRT+6+Dkd2/HE3cQdSHHAHcXq9uEKq2WdY= X-Received: by 2002:a5d:58f5:0:b0:336:5f15:5533 with SMTP id f21-20020a5d58f5000000b003365f155533mr151272wrd.54.1704509607209; Fri, 05 Jan 2024 18:53:27 -0800 (PST) MIME-Version: 1.0 Date: Sat, 6 Jan 2024 11:53:16 +0900 Message-ID: To: internals@lists.php.net Content-Type: text/plain; charset="UTF-8" Subject: [PHP-DEV] Multibyte for ucfirst function From: youkidearitai@gmail.com (youkidearitai) Hi, Internals We got feature request for "Multibyte for ucfirst function". https://github.com/php/php-src/issues/13075 I think make sense for implement this function, but I don't know well about not-latin language. I have a question. gnutix san pick up sample to below: https://stackoverflow.com/questions/2517947/ucfirst-function-for-multibyte-character-encodings/58915632#58915632 ``` function mb_ucfirst(string $str, ?string $encoding = null): string { return mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, null, $encoding); } ``` mb_strtoupper supports not-latin language, Therefore, that means effect ucfirst not-latin language. Manual of mb_strtoupper is shows example #2 not-latin language. https://www.php.net/manual/en/function.mb-strtoupper.php#refsect1-function.mb-strtoupper-examples What do we think? Feel free to comment. Cheers for new year. Yuya -- --------------------------- Yuya Hamada (tekimen) - https://tekitoh-memdhoi.info - https://github.com/youkidearitai -----------------------------