subscribe doesn't eat up unicode errors any longer

--HG--
branch : trunk
diff --git a/jinja2/environment.py b/jinja2/environment.py
index 41b0ce7..e10510c 100644
--- a/jinja2/environment.py
+++ b/jinja2/environment.py
@@ -280,9 +280,14 @@
         """Get an item or attribute of an object."""
         if isinstance(argument, basestring):
             try:
-                return getattr(obj, str(argument))
-            except (AttributeError, UnicodeError):
+                attr = str(argument)
+            except:
                 pass
+            else:
+                try:
+                    return getattr(obj, attr)
+                except AttributeError:
+                    pass
         try:
             return obj[argument]
         except (TypeError, LookupError):