1

Topic: if path of punbb is unicode login and logout does not work.

if path of punbb is unicode login and logout does not work.

it is because redirecting with meta tag for refreshing does not work. if path in it is urlencoded (like "%20") it works.
i have tested this:
try make index.php file in localhost/test/метарефрешуникод/ folder with this content:
<meta http-equiv="refresh" content="5;URL=http://localhost/test/метарефрешуникод/index.php" />

it does not work.
and then try this:
<meta http-equiv="refresh" content="5;URL=http://localhost/test/<? echo rawurlencode('метарефрешуникод');?>/index.php" />

that works.

that redirecting code of punbb is in include/functions.php in function "redirect".
that place is:
<meta http-equiv="refresh" content="<?php echo $pun_config['o_redirect_delay'] ?>;URL=<?php echo str_replace(array('<', '>', '"'), array('&lt;', '&gt;', '&quot;'), $destination_url) ?>" />

Re: if path of punbb is unicode login and logout does not work.

Have you got the idea for the correct fix?

In fact, the problem URL parts should be encoded before they are given to the redirect() function. Otherwise, we have to parse the URL and try to guess what parts should be urlencoded.

Carpe diem