Lots of devices have problems when accessing a hotspot configured with a complex SSID. The Iphone unfortunatetly is missing the ability to set (just) the ssid, it uses your iphone name. Just pick something simple for your iphone name. Mine is Name-iPhone5. It works perfectly every time.
My normal name for it is kzPhone, which didn't work. Have also tried iPhone and iphone nothing's working, fails every damn time.