diff -Naur httpd-2.4.58-orig/changes-entries/xmlchar.txt httpd-2.4.58/changes-entries/xmlchar.txt
--- httpd-2.4.58-orig/changes-entries/xmlchar.txt	1970-01-01 01:00:00.000000000 +0100
+++ httpd-2.4.58/changes-entries/xmlchar.txt	2023-12-18 12:31:00.719087460 +0100
@@ -0,0 +1,2 @@
+ *) mod_xml2enc: Tolerate libxml2 2.12.0 and later.
+    [ttachi <tachihara AT hotmail.com>]
diff -Naur httpd-2.4.58-orig/modules/filters/mod_xml2enc.c httpd-2.4.58/modules/filters/mod_xml2enc.c
--- httpd-2.4.58-orig/modules/filters/mod_xml2enc.c	2020-02-21 01:33:40.000000000 +0100
+++ httpd-2.4.58/modules/filters/mod_xml2enc.c	2023-12-18 12:32:34.248535392 +0100
@@ -206,11 +206,11 @@
             }
         }
     }
-  
+
     /* to sniff, first we look for BOM */
     if (ctx->xml2enc == XML_CHAR_ENCODING_NONE) {
-        ctx->xml2enc = xmlDetectCharEncoding((const xmlChar*)ctx->buf,
-                                             ctx->bytes); 
+        ctx->xml2enc = xmlDetectCharEncoding((const unsigned char*)ctx->buf,
+                                             ctx->bytes);
         if (HAVE_ENCODING(ctx->xml2enc)) {
             ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01432)
                           "Got charset from XML rules.") ;
