I think it's better to be able to distinguish between a charset defined, and none defined, this makes an easy escape hatch should you want to handle bad clients.