gps interfacing with arduino

I am getting an output like this using this program
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
while(Serial.available())
{
char x = Serial.read();
Serial.print(x);

}
Serial.println();
}
}
I am getting an output like this

the while should be   while(Serial.available()>0) you are read 1 to many chars each time through the while loop. By the way the while loop is not required.

Mark

(deleted)

y umlaut is what you get when you read from the serial port when there is nothing to read, which is what your while loop does. Get rid of the while statement as Holmes4 suggested.