diff --git libcloud/common/base.py libcloud/common/base.py
index c8eca27..4779744 100644
--- libcloud/common/base.py
+++ libcloud/common/base.py
@@ -43,6 +43,12 @@ from libcloud.httplib_ssl import LibcloudHTTPSConnection
 
 LibcloudHTTPConnection = httplib.HTTPConnection
 
+# If cloud WebService returns utf-8 caracters
+# Usage:
+# import libcloud.common.base
+# libcloud.common.base.HTTP_RESPONSE_UTF8 = True
+HTTP_RESPONSE_UTF8 = False
+
 
 class HTTPResponse(httplib.HTTPResponse):
     # On python 2.6 some calls can hang because HEAD isn't quite properly
@@ -181,6 +187,10 @@ class XmlResponse(Response):
         if len(self.body) == 0 and not self.parse_zero_length_body:
             return self.body
 
+        if HTTP_RESPONSE_UTF8 and not PY3:
+            self.body = self.body.decode('utf-8')\
+                .encode('ascii', 'xmlcharrefreplace')
+
         try:
             body = ET.XML(self.body)
         except:
