Амперсанд - специальный символ в HTML. Почитайте на
w3schools, там много интересного. Любой нормальный валидатор скажет что амперсанд в чистом виде в HTML - это нехорошо: если за ним будет идти что-то похожее на код символа - ваша ссылка может внезапно поломаться.
Вы можете при доставании ссылки обратно делать что-нибудь такое:
str.replace("&", "&");
и получите обратно чистые
&