X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3166479fe4b170bf6ffd3f06c1422f65f7bbfe7e..a8cea0f3c4f89cd82d7c7d59077d6ff73dbff93c:/IkiWiki/Setup/Yaml.pm

diff --git a/IkiWiki/Setup/Yaml.pm b/IkiWiki/Setup/Yaml.pm
index 8ad44eb4a..6da93bb64 100644
--- a/IkiWiki/Setup/Yaml.pm
+++ b/IkiWiki/Setup/Yaml.pm
@@ -5,6 +5,7 @@ package IkiWiki::Setup::Yaml;
 use warnings;
 use strict;
 use IkiWiki;
+use Encode;
 
 sub loaddump ($$) {
 	my $class=shift;
@@ -13,16 +14,13 @@ sub loaddump ($$) {
 	eval q{use YAML::Any};
 	eval q{use YAML} if $@;
 	die $@ if $@;
-	IkiWiki::Setup::merge(Load($content));
+	$YAML::Syck::ImplicitUnicode=1;
+	IkiWiki::Setup::merge(Load(encode_utf8($content)));
 }
 
 sub gendump ($@) {
 	my $class=shift;
 	
-	eval q{use YAML::Any};
-	eval q{use YAML} if $@;
-	die $@ if $@;
-
 	"# IkiWiki::Setup::Yaml - YAML formatted setup file",
 	"#",
 	(map { "# $_" } @_),
@@ -37,7 +35,11 @@ sub dumpline ($$$$) {
 	my $type=shift;
 	my $prefix=shift;
 	
+	eval q{use YAML::Old};
+	eval q{use YAML} if $@;
+	die $@ if $@;
 	$YAML::UseHeader=0;
+
 	my $dump=Dump({$key => $value});
 	chomp $dump;
 	if (length $prefix) {