Fixed a unicode issue and also added some URL tests

I think the problem was trying to loop encoded utf8, if you want to do character-wise iteration it should be unicode() strings because python knows which symbols go together to make a character. So, the fix is to just use unicode strings right from the start, as with python3.
same here. Maybe testUrl(self)