Using rotary encoders with pin change interrupts
check the library to see if it debounces the input.

if not, write your own code. usually state machine-based approaches are very resistant to switch bounces.