Сложная ситуация, вызывающая переменную с ÄÄÖ и & впоследствии - PullRequest
0 голосов
/ 17 мая 2011

У меня есть эти хитрые проблемы.

На моем сайте я разрешаю регистрацию с символами åäö в них, и у меня есть дружественные URL-адреса, ссылающиеся на их профиль, поэтому допустим, что URL выглядит следующим образом:

example.com / profile / åäöismyname /

, а переменная userfriendly равна $_GET['vanlig'].

Теперь это называется example.com/profile/åäömyname&favorisera

$_GET['vanlig'] теперь называется åäömyname&favorisera вместо åäömyname, а &favorisera не вызывается.

Это прекрасно работаетдо тех пор, пока у меня нет åäö в переменной $_GET, &favorisera будет вызываться правильно.

Есть предложения по этому поводу?Менять их дружеские имена нельзя.Так как это может привести к дублированию имен в БД.

Я использую nginx в качестве веб-сервера для понятных URL.

РЕДАКТИРОВАТЬ:

я пробовал это

$userid = urlencode($userid);

<div class="privat" onclick="window.location = '/profil/<?=$userid?>&favorisera'" style="cursor:pointer;" title=""></div>

безуспешно, ссылка показывает (как фактический пример из исходного кода):

<div class="privat" onclick="window.location = '/profil/k%C3%A5taelin&favorisera'" style="cursor:pointer;" title=""></div> 

При щелчке я возвращаю дамп переменной $ _GET ['vanlig'], что приводит кв строке (19) "kåtaelin & favisera" в любом случае.

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Амперсанд - это специальный символ, обозначающий новую переменную, поэтому попробуйте использовать urlencode () в строках для ссылок, а затем urldecode () при манипулировании им в страница или база данных.

0 голосов
/ 17 мая 2011

Вам нужен знак вопроса, чтобы начать строку запроса.

...