Opened 19 years ago
Closed 18 years ago
#6723 closed defect (bug) (fixed)
get_page_uri returns invalid URLs for multibyte page slug
| Reported by: | lilyfan | Owned by: | ryan |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.6 |
| Component: | I18N | Version: | 2.5 |
| Severity: | normal | Keywords: | permalink, slug |
| Cc: | Focuses: |
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 (1)
Change History (4)
Note:
See TracTickets
for help on using tickets.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
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.