diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi
index eb6f908d5..c864c127d 100644
--- a/html/cgi-bin/dns.cgi
+++ b/html/cgi-bin/dns.cgi
@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2020 IPFire Development Team #
+# Copyright (C) 2005-2024 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -21,6 +21,7 @@
use strict;
use IO::Socket;
+use Encode;
# enable only the following on debugging purpose
#use warnings;
@@ -151,6 +152,9 @@ if (($cgiparams{'SERVERS'} eq $Lang::tr{'save'}) || ($cgiparams{'SERVERS'} eq $L
# are correctly encoded to their html entities
$cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
+ # encode the text back to UTF-8 after running the cleanhtml command
+ $cgiparams{'REMARK'} = encode("UTF-8", $cgiparams{'REMARK'});
+
my %dns_servers = ();
my $id;
my $status;