I have a strange problem, I hope I'm just missing something simple. I have a GPS unit that spits out NMEA data at 4800 baud, N-8-1. I have no problem reading the data on a PC running Putty:
and

I've made several attempt to read the data but each time I end up with garbage input.

I've tried different combinations of baud rates, but nothing seems to change the fact that I'm not getting valid input. I've tried several pairs of input pins, etc.
Here is some sample code that I was most recently using, but other example sketches also failed:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4,5);
void setup()
{
Serial.begin(9600);
mySerial.begin(4800);
}
void loop(){
if (mySerial.available())
Serial.write(mySerial.read());
}
I'm hoping it's just something simple that I'm missing. I've searched the forums, but haven't found anything relevant.
-Steve