Ticket #6723 (closed defect (bug): fixed)
get_page_uri returns invalid URLs for multibyte page slug
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 2.6 |
| Component: | I18N | Version: | 2.5 |
| Severity: | normal | Keywords: | permalink, slug |
| Cc: |
Description
If a page has a multibyte page slug (like %E4%BE%8B ; means "example" in japanese), get_page_uri() returns invalid URL as " http://example.com/例/". It is not compliant with RFC 1748, because a UTF-8 character is inlcuded in the path. The reason is that get_page_uri() does "urldecode($page->post_name)". Thus "%E4%BE%8B" is decoded to "例" (a UTF-8 character).
The solution is to avoid using urldecode().
Attachments
Change History
comment:2
nbachiyski — 4 years ago
The urldecode calls were introduced long ago in [1841] (1.3-alpha-4) when for some reason page names were double encoded.
The patch is attached.
Note: See
TracTickets for help on using
tickets.

