Index: src/lxml/parser.pxi
===================================================================
--- src/lxml/parser.pxi	(Revision 45024)
+++ src/lxml/parser.pxi	(Arbeitskopie)
@@ -156,6 +156,9 @@
     l = python.PyUnicode_GET_DATA_SIZE(utext)
     buffer = python.PyUnicode_AS_DATA(utext)
     enc = _findEncodingName(buffer, l)
+    if enc == NULL:
+        # not my fault, it's YOUR broken system :)
+        return
     enchandler = tree.xmlFindCharEncodingHandler(enc)
     if enchandler is not NULL:
         global _UNICODE_ENCODING
@@ -167,13 +170,15 @@
     cdef tree.xmlCharEncoding enc
     enc = tree.xmlDetectCharEncoding(buffer, size)
     if enc == tree.XML_CHAR_ENCODING_UTF16LE:
-        return "UTF16LE"
+        return "UTF-16LE"
     elif enc == tree.XML_CHAR_ENCODING_UTF16BE:
-        return "UTF16BE"
+        return "UTF-16BE"
     elif enc == tree.XML_CHAR_ENCODING_UCS4LE:
         return "UCS-4LE"
     elif enc == tree.XML_CHAR_ENCODING_UCS4BE:
         return "UCS-4BE"
+    elif enc == tree.XML_CHAR_ENCODING_NONE:
+        return NULL
     else:
         return tree.xmlGetCharEncodingName(enc)
 
