@smsm159 Installation and Troubleshooting is for Problems with the Arduino itself NOT your project. It says so in the description of the section. This is clearly about YOUR project therefore I have moved your post here.
You're not alone facing odd things in an LCD.
I've code printing "<" alternating with ">", just show that loop is running. After some time, a number of hours, the right arrow displayed is changed to some other, unknown character.
Can You post a picture showing, in general, what the fysics looks like?
That image shows an LCD that has not been initialised, which if it was working before indicates that the LCD itself has been temporarily disconnected from power.
Can't see a 10k pullup on the reset pin, and you have a confusingly labelled "rest_button" which arguably might be better connected to ground using a pull-up.
Misuse of either can cause that symptom to happen.
Read the forum guidelines to see how to properly post code and some hints on how to get the most from this forum.
Use the IDE autoformat tool (ctrl-t or Tools, Auto format) before posting code in code tags.
Could it also happen if the processor was reset by a memory problem caused by Strings or array bounds violations?
No, this is the uninitialised condition of the LCD display driver, as if no code had accessed it.
It would - as Bill will vouch - be rather difficult for any software to actually put it into this state. It is the default state when the LCD display driver has just been powered up, so indicates that there has been a loss of power to the LCD.
this is the closest explination beacause when unplugging and replugging the power it somtimes returns to normal and other times not .
any suggesion to solve the power problem ?