I've had my bad luck with taxis in China. Especially in Shanghai. I've had taxis that have purposely tried to rip me off. I've had to deal with such things as them messing with the meter, taking the longest way possible to get to my destination, getting "lost" or even saying they had no change when I tried to pay with a larger bill.
I've learned to deal with it. Usually with preventative measures. I always repeat where I want to go at least twice to make sure we are both clear. I bring a map so that I can point out exactly where I want to go. I will say in Chinese which characters the street names are or by which route I want them to take me. I always pay attention when they are driving and if I know they are going the wrong way I make a stink. I've gotten the fare reduced a few times because I know they were doing something wrong. Still, on occasion, I know I've been ripped off and there wasn't really anything I could do about it.
With that mindset, yesterday was a really nice change. TWICE yesterday I was taking a taxi and before we arrived at my destination they lifted up the meter so that I got a reduced price. The only time a driver has EVER done that for me before was because I demanded they did since they had taken the long way around. Both times yesterday when I asked why they did it the drivers said they did it because they had gotten a little lost. I had been paying attention and both drivers went maybe the TINIEST BIT out of the way. Nothing I would bother complaining about usually. Instead they both realized what had happened and just made sure I got the real price. I was shocked the first time it happened and beside myself when it happened the very next time I took a taxi.
It's a nice change to have taken a ride with an honest and kind taxi driver.