silverstripe/sapphire — pull request #413 by chillu (2012-05-08 20:27:39+00:00)
Title: URLSegment multibyte fixes

The feature has been in master for a while now, but turns out that it conflicts with FileSystemPublisher - we have to `rawurlencode()` the URL segments - for one because its actually the RFC compliant IRI, but mainly because FileSystemPublisher relies on `parse_url()` which is not multibyte safe, and hard to replace with anything custom and reliable.

To be clear: This will encode all URL segments on save, but only if the URLSegmentFilter->setAllowMultibyte() flag is TRUE (which is new in 3.0). It's also fully backwards compatible with 2.4 style URLSegments, as they've been thankfully quite restrictive in removing non-alphanumeric chars, and hence are not affected by `rawurlencode()`.

See http://helpdesk.silverstripe.com/tickets/6756 for an internal discussion on a client ticket.