русские буквы в урл. Опера.

Статус
В этой теме нельзя размещать новые ответы.

Albus_D

Постоялец
Регистрация
20 Июл 2010
Сообщения
84
Реакции
4
В общем пишу скриптики для клан сайта. в игре используются русские ники , на клан сайте нужны разные сервисы , информация где ссылки на персонажей идут вида ?login=русский вася . В ие то всё хорошо , а вот в опере такие ссылки преобразуются в виде ?login=%CC%F3%E4%F0%FB%E9%20%F0%E5%E1%E5%ED%EE%EA и при открытии такой ссылки - ничо не открывается разумеется. тоже самое и с сервисами для клановых сайтов , например в админке для состава клана пишу :
PHP:
$sql=mysql_query("SELECT name FROM sostav");
	while($record=mysql_fetch_row($sql)) 
	{	
		$sname=$record[0];
		print'<tr><td>'.$record[0].'</td><td><a
		href="admin.php?soklan_name='.$sname.'&del=y"
		>Удалить</a></td></tr>';
	}
ссылка в ИЕ выглядит нормально, в опере перекодированы русские ники. я конечно могу в админке пределать и все манипуляции вести с id записью, но проблемы не решает - потому что когда я например пользователю выведу список сокланов с ссылкой на страницу информации о персонаже в игре - то опере он её не откроет =(
Так вот есть способ в любом браузере русские буквы показывать как русские ?
 
Кодировка, упаковывающая кириллические имена доменов в латиницу, называется punycode.

Пример:


Данный метод использует, например google. В браузере ссылка выглядит нормально, Крякозыбры будут только в коде html.

Другого решения пока не придумали. Производители браузеров обещали исправить это через несколько лет.
 
Объясни пожалуйста подробнее - внешний вид ссылки меня мало интересует собственно, мне главное чтобы она вела по ссылке правильно.
т.е. смотри у меня вывод списка сокланов - инфа сокланов все равно открывается не по щелчку по нику , а по рисунку-иконке , но вести она будет при использовании punnycode на или на ? потому что в первом случае откроется то что нужно , а во втором не откроется .
 
надо перекодировать все данные в ссылке что не в латинице или в спец символах, а лучше вообще все значения переменных, если нет, тогда кто нибудь другой начнёт кодировать перекодировать (браузер, сервер, php)
PHP:
http://igra.ru/?login=<?=urlencode('имя') ?>
тогда у $_GET['login'] будет значение "имя", потому что php раскодирование (urldecode) $_GET значений делает автоматически
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху