Почему вы хотите закодировать эти символы в любом случае? Помните, что вы пишете CSS, а не HTML. Ваш код:
a.up:after{content: " ↓";}
a.down:after{content: " ↑";}
совершенно правильно, если вы сохраняете файл в кодировке UTF-8 и отправляете соответствующий заголовок:
Content-Type: text/css; charset=utf-8
Кодирование символов используется только в HTML, чтобы не было двусмысленности между контентом и тегами. Таким образом, вы бы закодировали <
как <
, чтобы браузер не думал, что это начало тега. Такие вещи, как ↓
- это просто товары для людей, которые не знают, как использовать utf-8 (или не могут по какой-либо причине)