Кодируются именно байты, а не буквы. Поэтому один и тот же текст в UTF-8 и в однобайтовой кодировке даёт разные последовательности процентов, и подставить одну вместо другой нельзя. Хост живёт по другому правилу: там проценты не работают вовсе, доменное имя переводится в punycode.