Since it is trying to display what looks like valid correct numbers, and not completely scrambled, I'm guessing it's a connection issue.
It might be the plug under the dash that plugs into the odometer, or it maybe the actual contacts on the LCD panel. There is often a rubbery strip that runs along the edge of an LCD panel that acts as the contacts for the display. Sometimes the adhesive comes unstuck, and the LCD will display like that. I have re-glued them down and had them work happily again.
If you have to replace your LCD, since it is digital the mileage maybe stored in your ECU? in which case I would expect it to keep the correct mileage.