Поясняю свою позицию. Я пытаюсь сделать мад таким, чтобы играть в него могли с любой платформы (linux, windows, android, планшеты, айпады), именно поэтому я оставил существующие три кодировки (win,koi,alt) и добавил utf8. Но я осознаю, что большинство игроков это все таки windows+jmc с кодировкой win и делать какие-нибудь прикольные возможности, которых не понимает jmc, не стоит, их мало кто увидит. (Я экспериментировал и с 256 цветами, и с позиционированием курсора по протоколу vt100 и со звуком). Может, мой подход слишком консервативен и слишком осторожен, но не хочется терять потенциальных JMC-игроков. (Именно поэтому я скептически отношусь к проектам, когда создается новый мад-сервер и для него свой клиент).
Добавка utf ничем не навредит тем, кто играет с JMC, они этого даже не увидят.
Теперь о том, как я все реализовал. Мой код открыт, смотри
Внутренней кодировкой мада является koi-8, и если у игрока выбрана utf (или alt или win) происходит перекодировка. Для utf-8, так как это двухбайтная кодировка, я перекодирую не по таблице, а используя стандартную функцию iconv. То ли я что-то не до конца продумал, то ли utf является чудеродным телом для протокола telnet, но работа в режиме utf иногда глючит. Но в целом работать можно. Что же касается рамок и всяких utf красивостей, то те, у кого другая кодировка, их просто никогда не увидят, поэтому я как консерватор не злоупотреблял бы ими. Ежели ты чего-то накодишь, я готов протестировать и рассказать, как оно видится с моей стороны