Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-12228

Rely on Intl and mbstring, use patchwork/utf8 as fallback

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • 3.0.12
    • 3.2.0-a1
    • None
    • None

    Description

      Hi phpBB team,

      this pull request is an open invitation to use patchwork/utf8 as phpBB's fallback UTF-8 handling implementation.

      As a quick introduction, patchwork/utf8 is both a portability layer for mbstring, iconv, and intl Normalizer and grapheme_* functions, and an UTF-8 grapheme clusters aware replica of native string functions.

      It is included in Laravel4 and ownCloud, and as such, it tops more than 400k installs on packagist and a dedicated package in debian. It is well unit tested.

      By using directly intl's Normalizer and mbstring in phpBB, and delegating portability to patchwork/utf8, you could gain a lot of code cleanups and simplification. The patch attached shows what is already and quickly possible. That would mean less code to maintain on your side, and more collaboration between projects, as fixes for Laravel4/ownCloud/phpBB/etc. would benefit the community as a whole.

      I'm an old user of phpBB and learned a lot of PHP reading your code. patchwork/utf8 also takes some inspiration in what you did. I would be very happy to contribute back, and that's why I'm doing this also.

      If you consider this request, I believe that more features of patchwork/utf8 could be used in phpBB, and reciprocally that some problems you address in phpBB could migrate to patchwork/utf8 (e.g. confusable handling).

      Waiting for your opinion on that,
      With best regards,
      Nicolas

      Attachments

        Issue Links

          Activity

            People

              naderman Nils Adermann
              nickvergessen Joas Schilling
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: