Я, скорее всего, сделаю такие варианты:
charset off;
charset windows-1251;
charset windows-1251 source=koi8-r;
source_charset koi8-r
стоит оставить
Есть два варианта:
либо
charset windows-1251;
source_charset koi8-r;
В этом случае можно будет переопределять source_charset для отдельного
location/сервера, а charset будет наследоваться.
либо
charset windows-1251 source=koi8-r;
В этом случае, чтобы переопределить source_charset для отдельного
location/сервера нужно определять и charset, т.е. он наследоваться не
будет.
Нужно выбрать только один.
Выбирать нужно тот вариант, который позволяет наследовать максимальное
число параметров конигурации.
Об этом я как-то не подумал. В таком варианте действительно лучше два
отдельных параметра. Хотя, во втором случае думаю можно просто разрешить
вариант "charset source=koi8-r;". А при проверке конфига, если ранее не
определен выдаваемый charset - сообщать про ошибку.