+[NSURL gh_decode] assumes UTF-8 urlencoding - if used with a differently encoded URL (e.g. Latin-1) it crashes hard.
I was unsure about the right course of action here, though - raise an exception, ignore the broken entry entirely, or (if it's the value that's busted) use an NSNull instead?
(Also, does gh_decode do anything that -[NSString stringByReplacingPercentEscapesUsingEncoding:] doesn't?)