16x16 LCD printing weird character

I'm quite new to the LCD part of arduino, so I figured I learnt the best by copying codes from the website. However, I noticed that the screen always prints this symbol at the end, unless I have 16 or more characters. I have checked and there seems to be no problem with neither the wiring nor the code.

I suspect that I either have to fill the empty spaces with blanks or maybe use a different library. Apparently there's a lot of libraries for LCD screens. The code pasted below is a straight up copy and paste from [arduino.cc/en/Tutorial/LiquidCrystalSerialDisplay]. Image is attached.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    delay(100);
    lcd.clear();
      while (Serial.available() > 0) {
        lcd.write(Serial.read());
      }
    }
}

Make sure that the serial monitor is set for "no line ending".

If you have a new line or carriage return it sends a non printable character at the end.

oh. That worked. Thank you :confused: