]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/Tools.pm
tools: allow to force UTF-8 encoding for file_set_contents
[pve-common.git] / src / PVE / Tools.pm
index 2cfe93f7f0f4cbe909a3c2df54aac3ec825d0e4a..569f0cdca0edf96f56c852267b1d34e839a25add 100644 (file)
@@ -238,7 +238,7 @@ sub lock_file {
 }
 
 sub file_set_contents {
-    my ($filename, $data, $perm)  = @_;
+    my ($filename, $data, $perm, $force_utf8)  = @_;
 
     $perm = 0644 if !defined($perm);
 
@@ -253,6 +253,9 @@ sub file_set_contents {
            }
        }
        die "unable to open file '$tmpname' - $!\n" if !$fh;
+
+       binmode($fh, ":encoding(UTF-8)") if $force_utf8;
+
        die "unable to write '$tmpname' - $!\n" unless print $fh $data;
        die "closing file '$tmpname' failed - $!\n" unless close $fh;
     };