LCD has strange characters when not lcd.clear() is sent

You do not need the lcd.clear() or the lcd.setCursor(0,0) since both functions are taken care of by the lcd.begin() function.

You did not post your entire sketch. Was that code in setup() or in loop()?

Try this sketch:

...
void setup()
  {
  lcd.begin(20, 2);
  lcd.print("hello, world!");
  lcd.setCursor(0,1)
  lcd.print("it works!");
  }

void loop()
  {
  }

Don