Я лично всегда использую UTF-8. Он хорошо поддерживается, и каждый язык, ОС и браузер так или иначе поддерживают его. Сущности хороши для отображения, но они являются болью в шее для редактирования. Именованные объекты могут ссылаться на множество символов, но будут охватывать только случайные наборы символов. Для азиатских языков вам придется вернуться к шестнадцатеричным сущностям, и это не очень красиво. Шестнадцатеричные сущности также должны быть в любом случае декодированы или закодированы с использованием таблиц Unicode, так что вы можете использовать кодировку Unicode для кодирования текста в первую очередь.
Если ваша основная аудитория - англичанка, вы можете подумать, что можете избавиться от ISO-8859-1 или cp1252, но это будет ошибкой. Рано или поздно кто-нибудь напишет ударные или другие иностранные символы, и когда это произойдет, уже слишком поздно исправлять вашу кодировку: какой-то текст уже испорчен.
Вот еще несколько статей, которые избавили меня от головной боли при игре с кодировками:
Каждый разработчик программного обеспечения должен абсолютно точно знать о юникоде и наборах символов (без оправданий!) Подробное введение в наборы символов, их использование и различия от joelonsoftware.com. Информация там довольно общая, но полезна, чтобы помочь выяснить, какую кодировку выбрать.
Наборы символов из браузера в базу данных - это очень практичная и прагматичная статья от SUN, в которой много говорится о различных местах, где вы должны убедиться, что ваша кодировка не преобразована во что-то еще.
Что такое UTF-8 и почему это важно? - это еще одна статья SUN, которая углубляется в тонкость UTF-8 и должна иметь возможность ответить на любой вопрос, который у вас есть на подробности о UTF-8 после прочтения первых двух статей.