Скажем, у меня есть эта веб-страница:
http://ww.xyz.com/Product.aspx?CategoryId=1
Если имя CategoryId = 1 - "Dogs", я хотел бы преобразовать URL-адрес в нечто вроде этого:
http://ww.xyz.com/Products/Dogs
Проблема в том, что название категории содержит посторонние (или недопустимые для URL-адреса) символы. Если имя CategoryId = 2 - «Göra äldre», каким должен быть новый URL?
Логически это должно быть:
http://ww.xyz.com/Products/G%C3%B6ra äldre
но это не сработает. Во-первых, из-за пробела (который я легко могу заменить, например, тире), но как насчет иностранных символов? В Asp.net я мог бы использовать функцию URLEncode, которая выдала бы что-то вроде этого:
http://ww.xyz.com/Products/G%c3%b6ra+%c3%a4ldre
но я не могу сказать, что он лучше исходного URL (http://ww.xyz.com/Product.aspx?CategoryId=2)
В идеале я хотел бы сгенерировать этот, но как я могу сделать это автоматически (т.е. преобразовать иностранные символы в «безопасные» символы URL-адреса):
http://ww.xyz.com/Products/Gora-aldre