LCD is not printing strings, only integers with Arduino As mentioned in the title I'm facing a problem in printing strings in the LCD. It's printing actually weird characters.

#include &lt;LiquidCrystal.h&gt;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
  lcd.begin(16, 2);
  Serial.begin(9600);

  lcd.print("hello, world!"); 
}
void loop() {


 lcd.setCursor(0, 1);
  lcd.print(millis()/500);
}


You can find the output of the LCD in the picture below:
Whenever I use an LCD display I make sure to use the I2C backpack.  It takes actual effort to hook it up wrong if you use them.  So if this were me, I would desolder all those pins and get one.

Here is a good description of how they work:
https://learn.adafruit.com/i2c-spi-lcd-backpack/overview