Is it dead Jim?

If it is still displaying random characters then it isn't dead and they are pretty hard to kill. Re check your wiring and especially the wires connecting the display to the Arduino,, It's likely that one of the data lines isn't soldered or there is an accidental bridge between connectors/connections to the LCD itself. as long as you can display anything under program control then the data presented to the display isn't correct and you are reading the data that the LCD is told to do.

Doc