Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71212 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40352 invoked from network); 17 Jan 2014 21:35:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Jan 2014 21:35:28 -0000 Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.41 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.215.41 mail-la0-f41.google.com Received: from [209.85.215.41] ([209.85.215.41:46550] helo=mail-la0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CA/00-39935-E12A9D25 for ; Fri, 17 Jan 2014 16:35:27 -0500 Received: by mail-la0-f41.google.com with SMTP id mc6so4072942lab.0 for ; Fri, 17 Jan 2014 13:35:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=XhW/4G+JwzgPhT5+tyR1NB6WmoDjV0trQABxTu5fMRc=; b=vjzxTH4pZ2L+Fd2DNlzKL8kjDIxRtkMj4/dKVBwIVdVqo/ylsc2fglo7pnwe47StSP 78cPfmnz26HCtEVDzX8pr8wnjJRloF7+6v35Fk0gEZ9SOXacW1pm6YhnAwj/mwZc73yc zoFuIc29f4/JvnRN2UYU10JIkTdvXV3+Tev/5Ensi2Jqpln6FuWWgGgSHlh6gxyAYpt4 cf6BTfXyKwFJzRuD50EpgjbBJXECEVJ8/r1pPvedA8g7WcCr4sjMfMgjHpzjcViyDUq8 z9dlLWbhvbPIL1rThlIJ67/irI+z3AlKdMhu1XuSdHQK/4HiQpEClazirn6DYUnCk8HS k4Sw== X-Received: by 10.152.19.170 with SMTP id g10mr2234219lae.9.1389994523922; Fri, 17 Jan 2014 13:35:23 -0800 (PST) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.112.6.68 with HTTP; Fri, 17 Jan 2014 13:34:43 -0800 (PST) In-Reply-To: References: <1389976678.2057.8.camel@smugmug> Date: Sat, 18 Jan 2014 06:34:43 +0900 X-Google-Sender-Auth: ZOB69SsZJTuABYNsJxk3Q9QYgtI Message-ID: To: Julien Pauli Cc: Mike , Nikita Popov , "internals@lists.php.net" Content-Type: multipart/alternative; boundary=089e01493f64d6972804f031512b Subject: Re: [PHP-DEV] [RFC] Multibyte char handling From: yohgaki@ohgaki.net (Yasuo Ohgaki) --089e01493f64d6972804f031512b Content-Type: text/plain; charset=UTF-8 Hi all, On Sat, Jan 18, 2014 at 5:06 AM, Julien Pauli wrote: > Like everybody, I' absolutely against adding an "encoding" parameter > to ext/standard functions or relying on unreliable system locale. > Like Nikita says, every multibyte function should go to ext/mbstring , > and nowhere else, please , do not turn PHP into something even more > dirty as it is nowadays :-p > > I'm +1 to embed and activate mbstring by default in future PHP releases. > However, this has already been discussed (from what I remember) and I > dont remember why we ended with a "no" end-word, could we be refreshed > about this ? > > I'm not in favor of magic things. Magically replacing PHP strings by > mb_ implementation is a really bad idea. We should keep the INI > parameter about this alive though (mbstring.func_overload), so that > people that explicitely want to activate such a magic can do it if > they want to. > > I'm +1 also to start a "serious" (hum) discussion about multibyte/PHP6 > , we've been saying this for years : we need native support of unicode > in PHP :-p The actual problem we are facing once again shows this. > It seem this is the majority excluding INI usage. I updated the RFC to reflect this. https://wiki.php.net/rfc/multibyte_char_handling - Compile mbstring by default from 5.6 - Add mb_*() functions for 5.3 and up - Keep ext/standard function as it is now Open Issue - Use of INI for overriding single byte string functions by mbstring functions. I would like to consolidate code location 5.6 and up because of the history of mbstring function remain insecure. e.g. When parse_str()/mail() security issue was fixed, mb_parse_str()/mb_send_mail() didn't fixed. However, refactoring isn't mandatory. We could have 2 different codes that are mostly the same. We may postpone refactoring until PHP6. Please don't forget to update mbstring code when anyone update ext/standard. If there are opinions/open issues/questions, please reply. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net --089e01493f64d6972804f031512b--