A weird one, the printer was working the day before, and today it just prints garbage characters whatever you send to the printer. It works fine if printed from another computer, just this particular computer.
The solution for me was to choose a different printer driver. When I was having problems, I was using PCL6 Driver. There are people suggest PCL6 is dodgy and always cause problems. So I chose PCL5 instead, and it works like a charm.