The iron filings trick
Putting iron filings on the magnetic stripe and then tapping the card gently on a hard surface really works :
Magnetic card reader
There are several software programs over the Web to decode magnetic cards using a computer sound card. But some websites will tell you that you can just connect a cassette player's magnetic head directly to the microphone input of your PC, others will tell you that you do need a magnetic head designed for card readers, etc...I've managed to build a working card reader using a magnetic head scavenged from a mono cassette player (I don't know if stereo heads work, they should in theory) and a few other parts that amplify the signal from the head - the head did not give enough power to directly drive the input of the soundcard.

The circuit uses "phantom power" from the soundcard: the microphone input provides a direct voltage of about 2.5V with an internal resistance of 1k. The 15k resistor and the 100uF capacitor filter out the alternative component of the signal, to provide a stable polarization voltage to the transistor. The transistor is polarized through the 120k resistor - you may want to fit this value to your particular transistor in order to get a reasonable voltage drop on the microphone input (about -1V) when the circuit is connected. I am aware this circuit is "dirty" and has unstable gain (which is not really a problem anyway, as you only read 0's and 1's), but it works, it's easy to build, and it's cheap.

If you hear sound when you swipe the card, but the software fails to properly recognize the code, the magnetic head position is probably wrong. It's very critical.
You can find a suitable software program here: http://www.gae.ucm.es/~padilla/extrawork/stripe.html.